Local-first memory for AI agents

Your machine.
Every agent. One brain.

Shared memory across Claude Code, Codex CLI, Cursor, Kiro, and any agent that can run a shell command or speak MCP. Stored in your own Postgres. No cloud, no telemetry, no vendor lock-in.

$curl -fsSL https://raw.githubusercontent.com/Anmol-Srv/sigil/master/install.sh | sh
100% Retrieval R@10
33ms p50 search latency
~1.5K tokens per prompt
0 config files to edit
The problem

Every tool starts cold.

Claude Code knows your preferences from this morning's session — but Cursor doesn't. Kiro learned your architecture last week — but Codex CLI has no idea. Every agent ships a walled, hand-edited memory file. Every session re-explains the same context.

Without Sigil

Tuesday in Claude Code you decide to route webhooks through Postgres LISTEN/NOTIFY. Thursday you open Cursor in the same repo — it has no idea. Friday's new Claude session: gone again.

With Sigil

You mention the decision once. The Stop hook captures it. Thursday, Cursor retrieves it before you ask. Friday's session has it injected before the first prompt. Any agent, any machine — same answer.

Works with every agent on your machine

One memory layer underneath everything.

sigil init detects every coding agent on your machine and wires Sigil into each one — hooks for Claude Code, MCP server registration plus steering rules for the rest.

Auto-wired on sigil init
Claude Code
Codex CLI
Cursor
Kiro
One-line config via sigil register --print
Continue
Cline
Windsurf
Any MCP client
How memory gets captured

You don't write remember calls.

Four hooks run automatically in Claude Code. For every other agent, the same memory flows through the CLI or the 9-tool MCP server.

UserPromptSubmit

Searches your memory and injects relevant facts before the model sees your prompt.

PostToolUse

Captures observations from file edits and shell commands, deduped on a rolling window.

Stop

Classifies your last message and saves anything memorable — preference, decision, constraint, claim.

SessionEnd

Summarizes the session and promotes sticky facts to higher importance.

Capabilities

Infrastructure, not a feature.

Universal CLI interface

Any agent with shell access calls sigil search / sigil remember directly. No client integration required.

Auto-capture via hooks

Zero manual remember calls in Claude Code — four hooks capture decisions, preferences, and observations as you work.

Cross-agent shared memory

Claude Code, Codex CLI, Cursor, and Kiro all read and write the same brain.

Cross-machine via shared DB

Laptop, home server, and cloud agent on one Postgres = one memory. No sync protocol.

Hybrid search

pgvector cosine + tsvector BM25 fused via Reciprocal Rank Fusion — in a single SQL query.

ACT-R + Hebbian re-ranking

Recency × frequency activation plus co-retrieval boosts. A cognitive-science model, not vibes.

Pluggable pods

Five built-in kinds; add slack_channel, github_pr, codex_session as contract files. No schema migrations.

Fully air-gappable

Pick Ollama for both LLM and embeddings. Zero data leaves your network.

Honest benchmarks

Public, reproducible. No corpus theater.

LongMemEval oracle split, n=100, OpenAI top-quality stack.

R@1 / R@3 / R@10100% / 100% / 100%
Search latency (avg / p95)33ms / 61ms
Cost per full run$0.21

Caveats: oracle is the easy split; n=100 is small; per-question haystack is ~25 chunks. Full methodology and reproducible scripts in eval/longmemeval.

Get a working brain in one sitting.

The installer puts Sigil on your PATH, launches first-run setup, runs migrations against a built-in local database, and wires itself into every agent it finds. Two questions: LLM provider, embedder. That's it.

$curl -fsSL https://raw.githubusercontent.com/Anmol-Srv/sigil/master/install.sh | sh