Muhammad Younas6 downloadsSpaced-repetition reviews, tiered exams, CTF-style labs and a skill radar over your notes, marked and written by Claude through the Claude Code CLI. No API key.
Turn your Obsidian notes into long-term memory.
Spaced-repetition reviews, tiered exams, CTF-style labs and a skill radar over your own notes.
Claude writes them and marks open answers through the Claude Code CLI, so you don't need an API key.
Install · Quick start · User guide · Question format · Development · Changelog
==highlights== also become fill-in-the-blank questions, which join your daily review as soon as you write them.Every question has three submit buttons. Picking Guessing or Sure changes when the question comes back. You can also answer from the keyboard with 1–9, Enter, G and S.

Claude names 5–7 skill areas for each course. Each spoke shows the score you could expect on that area today. It counts questions you haven't answered yet as zero, and it fades between reviews.

Each note in a course can have a quiz and three labs, plus two exercises led by Claude: Write it all down (the pencil) and Teach it back (the speech bubble).

A lab gives you one source file with a flag hidden in it, and you can solve it just by reading. The flag is checked on your device, and only its SHA-256 hash is stored.

Hints are nudges of a few words, the way a CTF writes them. Each hint costs 15% of the lab's score.

In reading view, each heading that has questions gets a dot. Green means an expected score of 80% or more, amber 50% or more, red below that, and grey means no answers yet.

Each note's footer shows what is due in the note and has a button to review it. Complete marks the note as read and builds its quiz. The status bar shows how many questions are due today.

History shows your sessions and scores, and a year of activity with your streak. It also shows how often you were right when you said Sure.

sequenceDiagram
actor You
participant RL as Recall Lab
participant V as Vault (_quiz/)
participant C as Claude Code CLI
You->>RL: Mark a note complete
RL->>C: Write a quiz from the note
C-->>RL: Questions, as JSON
RL->>V: Check them and save the quiz
You->>RL: Take an exam or today's review
RL->>RL: Mark choice, hands-on and fill-in questions on your device
RL->>C: Mark written answers
C-->>RL: Score, feedback, missed points
RL->>V: Save each answer to attempts.json
RL->>RL: FSRS works out what is due, and when
RL-->>You: Today's review, memory dots on notes, skill radar
_quiz/progress/attempts.json. The schedule is rebuilt from that file each time, so it always matches your real history.claude.exe from Claude Code's native installer; an npm install only provides claude.cmd, which Recall Lab can't start.From Obsidian:
Updates then arrive through Obsidian. The plugin's page in the directory is community.obsidian.md/plugins/recall-lab.
By hand:
main.js, manifest.json and styles.css.<vault>/.obsidian/plugins/recall-lab/.Each file has a GitHub build attestation. gh attestation verify main.js -R MYounas126/recall-lab checks it was built from this repository. To update by hand, replace the three files and reload Obsidian.
Your quizzes, labs and history live in the vault, so they are kept across updates.
A Claude account and plan. Writing quizzes, labs and a course's skill areas, and marking written answers, needs Claude. Recall Lab uses the Claude Code CLI on your own subscription. It has no API key of its own and charges nothing.
Once a quiz exists, the following work without Claude:
Network use. Recall Lab makes no network requests of its own. The Claude Code CLI it starts sends the note or answer involved to Anthropic.
Programs it runs. Recall Lab is desktop only. It starts the claude command-line tool. To find it, it checks the usual install locations, then asks your login shell (command -v claude).
Files outside the vault. Everything Recall Lab keeps is in your vault, under _quiz/. The one exception is a lab you choose to write to disk, so you can compile or run it yourself: its files go to ~/RecallLab/labs/. Recall Lab never runs them.
Nothing else. There is no telemetry, no ads and no Recall Lab account. Lab flags are stored only as SHA-256 hashes.