The bridge between Claude's working memory and Basic Memory's durable knowledge graph.
Claude Code now keeps its own auto-memory — fast, in-context notes Claude writes to itself. Basic Memory is the other half: a searchable, portable, semantic graph of markdown files you and Claude both own. This plugin connects the two so you get the documented "use both" setup automatically: Claude starts each session briefed from the graph, and checkpoints the session back to it before the context window compacts.
This package lives in the canonical
basic-memoryrepository underplugins/claude-code/and only works with Claude Code. For framework-agnostic skills that work in any MCP agent, see the top-levelskills/directory.
- Session briefing (SessionStart hook). When a session begins, the plugin queries Basic Memory for your active tasks and recent work and puts a short brief in front of Claude — so you start where you left off instead of cold.
- Compaction checkpoint (PreCompact hook). Right before Claude Code compacts
the context window, the plugin writes a
type: sessioncheckpoint note to the graph, so the texture of the session survives and the next one can resume from it. - Capture reflexes (output style). An opt-in output style teaches Claude to
search the graph before answering recall questions, capture real decisions as
typed
decisionnotes, and cite permalinks. - Seed schemas. Picoschema definitions for
session,decision, andtasknotes, so the stuff the plugin writes is structured and findable bysearch_notesmetadata filters — recall is precise, not fuzzy.
The full design and rationale live in DESIGN.md.
Plugin skills are namespaced under the plugin name:
| Command | What it does |
|---|---|
/basic-memory:bm-setup |
One-time guided setup — maps the project to a Basic Memory project, seeds the note schemas, installs the shared memory-* skills, optionally learns your conventions, and turns on the capture reflexes. Run this first. |
/basic-memory:bm-remember <text> |
Quick capture — saves the text to the bm-remember folder with a manual-capture tag. Also fires when you say "remember that…". |
/basic-memory:bm-share <note> |
Promote a personal note to a configured team project, with attribution and confirmation. The deliberate way to write to a shared workspace. |
/basic-memory:bm-status |
Diagnostic — shows the active project, team read-sources and share targets, capture folders, output-style state, recent session checkpoints, and active-task count. |
- Basic Memory
>= 0.19.0connected as an MCP server.uv tool install basic-memoryis recommended (it puts abasic-memorybinary on PATH, which the hooks call directly). Auvx basic-memory mcp-only setup also works — the hooks fall back touvx/uvwhen no binary is on PATH. - Claude Code.
claude plugin marketplace add basicmachines-co/basic-memory --sparse .claude-plugin plugins/claude-code
claude plugin install basic-memory@basicmachines-coThe fastest path is /basic-memory:bm-setup — a ~2-minute interview that writes
the config, seeds the schemas, and turns on the capture reflexes. The SessionStart
hook nudges you toward it on first run.
To configure by hand instead: the hooks work out of the box against your default
Basic Memory project — no config required. To pin a specific project (recommended,
and required for the PreCompact checkpoint to write), add a basicMemory block to
your project's .claude/settings.json. Copy
settings.example.json and set primaryProject:
{
"basicMemory": {
"primaryProject": "my-project",
"captureFolder": "sessions"
}
}To enable the capture reflexes, also set "outputStyle": "basic-memory" in your
settings (or select it via /config).
| Key | Default | What it does |
|---|---|---|
primaryProject |
(default project) | Where briefs read from and checkpoints write to |
captureFolder |
sessions |
Folder for PreCompact checkpoint notes |
recallTimeframe |
3d |
Recency window for the session brief |
recallPrompt |
(built-in) | The instruction appended to the brief |
preCompactCapture |
extractive |
How checkpoints are produced |
See DESIGN.md for the complete configuration schema, the Claude-Code-project ↔ Basic-Memory-project mapping, and team-workspace behavior.
If you're on Basic Memory Cloud with a team workspace, the plugin reads team context into your session brief and gives you a deliberate way to publish back — without ever auto-writing to the shared graph.
- Read across — add team projects to
secondaryProjects. SessionStart pulls their open decisions into your brief (in parallel, read-only), so you start oriented on what the team has decided. - Capture stays personal — session checkpoints and
/basic-memory:bm-rememberonly ever write to yourprimaryProject. Nothing lands in a team project automatically. - Share deliberately —
/basic-memory:bm-sharecopies a chosen note into ateamProjectstarget (with attribution and a confirmation step). That's the only path to a shared write.
Because project names repeat across workspaces, team refs must be workspace-qualified
(my-team/notes) or external_id UUIDs — /basic-memory:bm-setup fills these in for you
from list_workspaces.
- Why combine Basic Memory with Claude's built-in memory — the value, the personas, the use cases.
- Getting started — a ~5-minute walkthrough from install to a working memory loop.
- Architecture — how it works, flow by flow, with diagrams.
- DESIGN.md — design rationale, decisions, and roadmap.
From the monorepo root:
just package-check-claude-codeFrom this directory:
just checkjust check validates the manifests, hooks, output style, and seed schemas, then
runs claude plugin validate . --strict.
MIT