True Recall
approvedby Lucas Piera
This plugin has not been manually reviewed by Obsidian staff. Anki-like native system in obsidian. Review flashcards with FSRS spaced repetition.
True Recall
The next-gen spaced repetition system for Obsidian.
Create flashcards inside your notes, review them with FSRS v6 scheduling, and track progress with comprehensive analytics — all without leaving Obsidian.
Documentation · Pricing · Sponsor on GitHub

Features
- FSRS v6 Algorithm — State-of-the-art spaced repetition with 21 trainable parameters. Optimizes to your personal memory patterns after 400+ reviews.
- AI Card Generation — Select text, get instant flashcards. Supports Basic, Cloze, Reversed, and Image Occlusion card types. Multiple models via OpenRouter (Gemini, GPT, Claude, Llama).
- Local-First Storage — All data in a portable SQLite database inside your vault (
.true-recall/true-recall.db). Your data stays with you. - Projects System — Organize cards across notes with many-to-many relationships. Review by topic, inherit FSRS presets from parent projects.
- Anki Compatible — Import
.apkgdecks and export to Anki or CSV/TSV. - Analytics & Widgets — Dashboard, statistics, calendar heatmap, forecast charts, and 25+ inline codeblock widgets you can embed in any note.
- Card Browser — Powerful query syntax for finding cards by state, properties, source note, and more.
- Type-in Mode — Type answers with AI semantic grading or diff-based checking.
Installation
Via BRAT (Recommended)
- Install BRAT from Obsidian Community Plugins
- Settings → BRAT → Add Beta Plugin → enter
pieralukasz/true-recall - Enable True Recall in Settings → Community plugins
Manual
- Download the latest release from GitHub Releases
- Copy
main.js,styles.css, andmanifest.jsoninto<your-vault>/.obsidian/plugins/true-recall/ - Enable the plugin in Settings → Community plugins
From Source
git clone https://github.com/pieralukasz/true-recall.git
cd true-recall
bun install
bun run build
cp main.js styles.css manifest.json <your-vault>/.obsidian/plugins/true-recall/
Requirements
- Obsidian 1.7.2+
- Desktop (Windows, macOS, Linux) and Mobile (iOS, Android)
Quick Start
- Open a note and select some text
- Use the selection toolbar to generate flashcards with AI
- Open the Flashcard Panel to see and collect your cards
- Start a review session — rate cards as Again, Hard, Good, or Easy
- Track progress in the Statistics view or embed widgets in your notes
For a complete walkthrough, see the documentation.
Privacy & Background Activity
True Recall is local-first. No telemetry, analytics, or background data transmission.
Periodic timers (setInterval) — all local, no network:
- Database safety-flush — writes pending changes to the local SQLite file in your vault.
- Optional background backup — writes a backup file inside your vault when enabled in settings.
- Device-lock heartbeat — updates a small lock file inside your vault to prevent two Obsidian Sync clients from corrupting the database when both are open. Local file write only.
- UI status polling — reads in-memory state to refresh diagnostics/backup panels.
Network requests — only on explicit user action or one-time per release:
- Update check — when the plugin version differs from the last seen version, a single
requestUrlcall is made to the GitHub Releases API to fetch release notes. Runs once per version, not on a timer. - AI / RAG features (opt-in) — flashcard generation, semantic grading, and RAG are disabled by default. When enabled, requests go only to the LLM provider you configure (OpenRouter, your local Ollama, etc.). No third-party server is involved.
- Local API server (desktop, opt-in) — binds to
127.0.0.1only, used by the optional companion CLI. Never reaches the public network and is disabled by default.
Storage: All flashcards and review data live in .true-recall/true-recall.db inside your vault. Backups and lock files live in the same .true-recall/ folder. Nothing is uploaded anywhere.
License
Source-available under the PolyForm Strict License 1.0.0
(SPDX: PolyForm-Strict-1.0.0).
Permitted: noncommercial use, including personal study, research, hobby projects, and use by charitable / educational / public-research / government organizations. Fair-use rights are preserved.
Not permitted under this license: redistribution, modification and derivative works, commercial use, hosting as a service, or building a competing product.
Commercial licensing. A separate commercial license is required for any
use beyond what PolyForm Strict allows — including production deployments
inside a business, paid services built on True Recall, or distributing
derivative works. Contact pieralukasz@gmail.com to discuss terms.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.