Step-by-step guide for wiring reverie into Claude Code.
Option A -- install to $GOPATH/bin:
cd /path/to/reverie
go install ./cmd/reverieThe binary lands at $(go env GOPATH)/bin/reverie. Make sure that directory is on your $PATH.
Option B -- build in place:
cd /path/to/reverie
go build -o reverie ./cmd/reverieUse the absolute path to the binary in the config below.
Reverie uses Ollama for local embeddings by default. Pull the model if you haven't already:
ollama pull nomic-embed-textVerify Ollama is running:
curl -s http://localhost:11434/v1/models | head -5If Ollama isn't running when reverie starts, memory_write and memory_recall return clean errors -- no data is corrupted.
Use the claude mcp CLI -- this writes the entry to ~/.claude.json (the file Claude Code actually reads MCP servers from). Do NOT hand-edit ~/.claude/settings.json for MCP config; it is the wrong file and is ignored.
claude mcp add --scope user reverie "$(command -v reverie || echo $(go env GOPATH)/bin/reverie)" serveOr with an absolute path:
claude mcp add --scope user reverie /Users/you/Code/reverie/reverie serveNo API keys or env vars are needed with Ollama. If using Voyage instead, pass the key with -e:
claude mcp add --scope user -e VOYAGE_API_KEY="$VOYAGE_API_KEY" reverie reverie serveVerify it landed:
claude mcp listYou should see reverie: ... - ✓ Connected.
The canonical preamble lives at scripts/reverie-preamble.md -- single source of truth for the agent-facing memory instructions.
If you ran ./scripts/install.sh, it's already injected into ~/.claude/CLAUDE.md between managed markers (<!-- BEGIN reverie-preamble --> ... <!-- END reverie-preamble -->) and will be refreshed in place on subsequent runs. Pass --skip-preamble to opt out.
For a manual install, append the file's contents to your ~/.claude/CLAUDE.md:
{ printf '\n'; cat scripts/reverie-preamble.md; } >> ~/.claude/CLAUDE.mdThis teaches Claude Code how and when to use reverie's tools in every session.
Quit and relaunch the claude CLI. MCP servers are discovered at startup.
Start a Claude Code session and run /mcp. You should see reverie listed as a connected server with 7+ tools:
memory_recallmemory_writememory_apply_judgmentmemory_reinforcememory_forgetmemory_listmemory_decay_tick
If reverie is not listed, check:
- Is Ollama running? (
ollama listshould shownomic-embed-text) - Is the binary path correct? (
claude mcp get reverieto inspect) - Check stderr output:
reverie serve 2>reverie.logand inspectreverie.log.
Ask Claude to write a test memory:
"Write a memory that my preferred language is Go."
Then recall it:
"Recall memories about my language preferences."
You should see the fact returned with a similarity score and gate pass flags. If you see results, reverie is working end-to-end.