Search your files, repos and delegate sessions, locally, and provision your agents the finest environment for the job. One hunt points them to the few passages that matter, alternatively of grepping the entire disk. Fewer tool calls, lesser cost.
Connects to the agents you already use
- Claude Code
- Codex
- Cursor
- Gemini CLI
- Windsurf
- Claude Desktop
- VS Code
- any MCP client
Search everything, locally
One search. Every file, repo and session.
Press Control+Shift for a pane panel complete your documents, folders, git repositories and conversations alongside coding agents. Search by definition or by the exact words. Pick a result, tap Control, and choose what to do alongside it without touching the mouse.
Exact "retry" Meaning payments Without draft
Code
payments/retry.pyacme-app/payments · max_retry_attempts = 5
exact
Incident review.md~/Documents/Ops · cardstock declines, retry alongside backoff
exact
ReceiptsFolder in ~/Downloads
Refactor the auth flowCodex · acme-app · Oct 2
pricing model
By meaning
Plain words discover what you meant, equal whenever the document never uses them.
"rate limit"
Exact words
Quotes equivalent the expression exactly. Mix the two to position exact hits by meaning.
-draft
Leave things out
A minus sign excludes a term or a quoted phrase.
kind:code ext:pdf
Narrow it down
Filter to files, code or sessions, a document type, or a directory or repo alongside in:.
Superpowers for your agents
The correct context. Not the entire disk.
Agents are lone as fine as the environment they're given. Connected complete MCP, your coding delegate asks Pensieve one inquiry and gets rear the few passages that matter, alongside document and line. It starts on the correct code in small tool calls.
› Why do cardstock retries halt following a decline? ● Grep "retry" in acme-app 212 matches ● Read payments/retry.py ● Read payments/gateway.py ● Read billing/invoices.py ● Read tests/test_payments.py … 36 additional files Still looking for the backoff rule…
Tool calls1 grep · 40 says and counting
› Why do cardstock retries halt following a decline? ● pensieve · search "card retry following decline" payments/retry.py:42 stop on hard_decline payments/gateway.py:118 decline codes Incident review.md why we changed it ● pensieve · read payments/retry.py:42 Hard declines skip the retry queue. Maya Rivera owns this; see the Mar 4 review.
Tool calls1 hunt · 1 read
Illustrative example. In the benchmark below, agents alongside Pensieve averaged 2.0 tool calls per lookup against 3.4 alongside grep, and answered following a sole call in 82 of 144 runs.
~ $ pensieve merge recommended claude-mcp: on codex-mcp: on cursor-mcp: on claude: on # "search before you grep" in ~/.claude/CLAUDE.md pensieve-search: on claude-hook: on claude-repo-check: on Agents burden MCP servers whenever they start: restart any that are open to provision them Pensieve.
Scoped to the job
An delegate started in a repo sees that repo, its worktrees and its sessions. Name a range to provision it a few repos and a directory of specs.
Exact or by meaning
Agents use the identical hunt you do: by meaning, by the exact identifier, or both, throughout code, docs and former sessions.
Works alongside your agent
Claude Code, Codex, Cursor or any MCP client, complete stdio alongside pensieve mcp or complete HTTP. pensieve merge connects the agents on your Mac and adds a “search before you grep” obstacle and skills, including optional ones that item you to teammates who cognize the code.
Measured, not promised
Fewer searches. Right document first.
We gave Claude Code the identical code-finding tasks alongside and without Pensieve: held-out tasks throughout genuine repos from 500 to 35,000 files, asked five ways, from plain descriptions to exact names and error messages. With Pensieve it finds additional of them, alongside small tool calls, and expenses small per lookup in all repo. Each hunt takes 0.1 to 0.2 seconds.
131 / 144runs that established the correct document alongside Pensieve, against 123 / 144 alongside grep alone
43% fewertool calls per lookup: 2.0 alternatively of 3.4
18% cheaperper lookup: $0.041 alternatively of $0.050, and cheaper in all four repos
21% fasterper lookup: 8.6 seconds alternatively of 10.9
Right file, archetypal result
One search, before any agent: how frequently the answer is the top result.
One grepPensieve search
Agent disbursal per code lookup
Claude Sonnet in Claude Code, measured in four genuine repos. Pensieve expenses small in all repo, and saves the most in the biggest one.
Grep, Glob and ReadWith Pensieve
Method: Claude Sonnet run headless through Claude Code. Tasks are generated from the code and graded on the document found. “With Pensieve” is the default delegate tool set affirmative the instructions obstacle from pensieve integrate, measured alongside Pensieve 0.5.6. Both setups ran the identical 72 held-out tasks throughout four repos (504, 1,783, 2,383 and 34,847 files), twice each, in one batch, since the disbursal depends on Claude’s immediate cache at the time. These tasks were never used to tune Pensieve. Costs are Claude Code’s reported API expenses at catalog prices. Pensieve used 16% small tokens. The “right file, archetypal result” diagram uses the identical held-out tasks: a sole grep wins on exact error messages, and Pensieve wins on everything else. The benchmark scripts are open origin in bench/; run them on your own repos.
Know who to ask
See who owns what.
Every repo as a map, alongside git accuse for all line. Ask concerning any topic and get the group alongside the most domain knowledge, affirmative what all teammate has been operating on lately. The fastest answer is frequently a conversation.
Ownership from blame
Who wrote all area, valued by the lines that are motionless there today.
Domain knowledge
Ask concerning a topic, not a file, and get the group whose code is most concerning it.
Team activity
What all teammate shipped in the final 90 days, and the areas next to your activity you haven't explored.
Find cognition gaps
Know anywhere the cognition left.
When the group who wrote a part of the codebase are no longer energetic in it, that cognition is at risk. Pensieve flags those areas, shows how few group motionless cognize them, and who knows them finest today.
acme-app / billing/tax
1 energetic expert
2,140 lines · final important alter 7 months ago
Not energetic current · 78%Priya Nair · 14%Others · 8%
DK
Daniel KimNot energetic current since March
58%
LS
Lena SchultzNot energetic current since final year
20%
PN
Priya NairActive this duration · knows it finest today
14%
Suggestion: brace alongside Priya before changing tax rules, and document the rounding logic in vat.py.
Bus aspect at a glance
For all area of a repo: how much of the code was written by group motionless energetic there, and how many of them there are.
Who motionless knows it
The energetic group alongside the most lines in that area, so you cognize who to drag in before you alter it.
Plan the handover
Spot gaps before an event does. Point your delegate at the area to outline the missing docs.
Example alongside fictional names and numbers.
Always current
Edit a file. Search it seconds later.
Pensieve watches your folders, repos and delegate sessions and re-indexes what changed. Uncommitted edits count, and all worktree is tracked by branch, so your agents never activity from old context.
payments/retry.pyUncommitted alter in acme-app
now
New worktree: fix-backoffFiles that differ from main, tagged alongside their branch
12 s ago
Q3 planning.pdfSaved to ~/Documents/Planning
1 min ago
Price the annual scheme correctlyNew turns in a operating Claude Code session
2 min ago
Private by design
Your activity stays on your Mac.
Indexing and hunt run locally. You decide what gets indexed, and AI is entirely optional.
Runs locally
An on-device embedding example and a local indicator in ~/.pensieve. Its server answers lone this Mac, not your network or another websites. No account, no haze service.
Switch any origin off
Agents, folders, repos and apps all have a switch. Turning one off removes what it indexed.
Secrets skipped
Password-manager exports, keys, .env records and credentials are never indexed.
AI if you desire it
Summaries and insights are optional. Pick who writes them, or depart it off:
Built-in Qwen 3.5 9B Local
LM Studio or local server Local
Claude Code or Codex Cloud
Off Local
Get Pensieve.
Free and open source. Your coding delegate does the setup.
Ask your coding agent.
Paste this into Claude Code, Codex, Cursor, Gemini CLI, Qwen Code, Windsurf or VS Code.
Install Pensieve on my Mac by operating sh -c "$(curl -fsSL https://tedhaley.ca/pensieve/install.sh)", afterward run pensieve merge recommended. Then run pensieve setup, display me what it found, ask me which sources to index, and run pensieve setup alongside my choices. Open the Pensieve app and inform me whenever it's ready.
- 1Paste the promptInto whichever coding delegate you use.
- 2Your delegate installs itThe app, afterward Pensieve for all delegate on your Mac.
- 3Choose what to indexYour delegate asks. Nothing is indexed until you choose.
- 4Press Control and ShiftSearch during indexing runs. It uses a lot of energy, so plug in.
Version 0.5.9 · Apple Silicon · macOS 14 or later
Questions.
Your records and folders (Documents, Desktop, Downloads and any directory you add), your git repositories including uncommitted changes and worktrees, and your Claude Code, Codex and Qwen Code sessions. Obsidian vaults too, and optionally Apple Notes. Everything is indexed and searched on your Mac.
How does Pensieve assistance my agent?Without it, a coding delegate frequently greps the repo and says many entire records to discover what matters, and all document it says expenses tokens. With Pensieve connected complete MCP, the delegate asks one inquiry and gets rear the most applicable passages alongside their document and line, so it starts on the correct code in small tool calls. In our benchmark that made all lookup 18% cheaper and 21% faster; see the measured results above.
Does Pensieve create Claude Code cheaper?In our benchmark, Claude Code alongside Pensieve established the correct document in 131 of 144 runs, against 123 alongside grep alone, alongside 43% small tool calls. Each lookup disbursal 18% small overall, and 6–28% small in all of four repos from 504 to 34,847 files. The benchmark scripts are open source, so you can run them on your own code.
How do I get my delegate to use Pensieve alternatively of grep?Agents grep by habit. The instal immediate runs pensieve merge recommended, which adds a abbreviated “search before you grep” division to the instructions records of Claude Code, Codex and Gemini CLI, affirmative a hunt accomplishment and two hooks for Claude Code. You can additionally toggle these on in Settings → Agents. With it, the delegate used Pensieve in all 144 runs of our latest benchmark.
Which agents activity alongside Pensieve?Any MCP client. pensieve merge recommended connects Claude Code, Codex, Cursor, Gemini CLI, Windsurf, Claude Desktop and VS Code for you. Other agents can use pensieve mcp complete stdio, or HTTP. Optional skills additionally propose which teammates cognize an area and assistance scheme new code about what already exists.
How does it discover cognition gaps?Pensieve says git accuse and latest commit former for all area of a repo. Areas anywhere most lines were written by group alongside no latest commits there are flagged, alongside alongside how many energetic group cognize the area and who among them knows it best.
Does item depart my Mac?Your files, code and sessions don't. Indexing and hunt run on your Mac. Pensieve lone downloads its models and checks GitHub for updates, which you can rotate off. The elimination is if you choose Claude Code or Codex to compose optional AI insights; those are labelled Cloud. The built-in model, a local server akin LM Studio, or no AI at all keep everything local.
Do I need an AI model?No. Search, delegate context, ownership and cognition gaps all activity without one. AI insights are optional: choose the built-in Qwen 3.5 9B, LM Studio, Claude Code, Codex, or depart it off.
Is Pensieve free?Yes. It's liberated and open origin under the MIT license. The code is on GitHub.
Why does macOS ask before beginning it?The app isn't notarized yet. If macOS blocks it, open System Settings → Privacy & Security and click Open Anyway. You lone do this once.
Does it activity on Intel Macs or Linux?The app needs Apple Silicon. On Linux and Intel Macs, the identical immediate installs the backend and the browser visualizer. An Intel Mac additionally gets the hunt panel if the Xcode command-line tools are installed.
How do I uninstall it?First run pensieve merge all --remove to disconnect your agents. Then discontinue Pensieve, drag it to the Trash, and delete ~/.pensieve, ~/.local/share/uv/tools/pensieve and ~/.local/bin/pensieve. Its models are in ~/.cache/huggingface.