Obsidian Mind is a TypeScript-based vault template that provides AI coding agents with persistent memory across sessions, compatible with Claude Code, Codex CLI, and Gemini CLI. It includes a modular hook system and QMD integration, and install options via shardmind or direct clone.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
Obsidian Mind is an Obsidian vault/template designed to give AI coding agents persistent memory. It supports Claude Code (full), Codex CLI, and Gemini CLI with shared hooks and vault conventions. The project is written in TypeScript and distributed under the MIT license.
How it works
The vault uses a collection of lifecycle hooks to manage session context, memory validation, and indexing:
- SessionStart injects North Star goals, active projects, and recent changes.
- UserPromptSubmit classifies content and injects routing hints.
- PostToolUse validates frontmatter and wikilinks after markdown writes.
- PreCompact backs up the session transcript.
- Stop runs a checklist and drift findings. Notes and memories live in brain/ and Claude Code's MEMORY.md is used as an auto-loaded index. QMD semantic search is optional and enhances retrieval.
Getting started
Install via ShardMind (recommended)
npm install -g shardmind
mkdir my-vault && cd my-vault
shardmind install github:breferrari/obsidian-mind
shardmind install writes into the current directory. Then:
- Open the installed folder as an Obsidian vault
- Enable the Obsidian CLI in Settings → General (requires Obsidian 1.12+)
- Run your agent in the vault directory:
claude,codex, orgemini - Start talking about work
Or clone directly
git clone https://github.com/breferrari/obsidian-mind.git
Or use it as a GitHub template and follow the same steps, filling in brain/North Star.md.
QMD Semantic Search (optional)
npm install -g @tobilu/qmd
node --experimental-strip-types .scripts/qmd-bootstrap.ts
The bootstrap resolves the vault index name from vault-manifest.json and registers the QMD context.
QMD usage examples
qmd --index obsidian-mind query "what did we decide about caching"
qmd --index obsidian-mind update
qmd --index obsidian-mind embed
How it works under the hood
QMD runs three small models locally to provide embedding, query expansion, and reranking. The models download on first use and are cached. The MCP server is scoped to the same named SQLite store via the vault manifest.
Using with other agents
obsidian-mind works with Claude Code, Codex CLI, and Gemini CLI. Hook scripts live under .claude/scripts/, and commands under .claude/commands/ (or their equivalents for Codex/Gemini).
Recent releases
- v8.3.2 (2026-08-03): Two fixes, both long-standing rather than regressions from v8.3.0. Stop hook issue fixed for Codex.
- v8.3.1 (2026-07-31): Two bugs from v8.3.0 fixed; one shipped inside the release artifact.
- v8.3.0 (2026-07-31): All bugs in this release had passing tests.
- v8.2.0 (2026-07-30): Writing to the vault worked; surroundings around writing did not.
- v8.1.1 (2026-07-30): The v8 line worked; wiring was harder than needed.
Traction
4245 stars, 498 forks, 6 open issues as of the provided data.
Behind the repo
Not included.
Caveats
License: MIT. Language: TypeScript. Created: 2026-02-28. Last push: 2026-08-03.






