Demo: https://www.youtube.com/watch?v=FvrvRGp4C9M | Mac app: https://contextify.sh (App Store or DMG) | Linux: CLI with a one-line installer, same search. No signup.
I split my work between Claude Code and Codex. When I burn through rate limits on one, I switch to the other, and new models keep leapfrogging each other, so the switching is not going away.
But each tool keeps its own history, in its own format, in its own directory structure, and Claude Code deletes local transcripts after 30 days by default.
Piecing together work I had done across Claude Code and Codex on one machine is the problem Contextify started as.
How it works: the Mac app (or a systemd timer on Linux) watches ~/.claude/projects/ and ~/.codex/sessions/, parses each tool's transcript format, and ingests every turn into SQLite with full-text search.
My DB is currently at 366,734 entries across 13,920 sessions, pooled from two Macs. An entry is one turn: a message, tool call, or subagent step.
A CLI (contextify search / context / activity) sits on top, and bundled skills (/total-recall, /live-recall) teach each agent to use it on demand mid-session. There is also an MCP server (contextify serve-mcp) if you'd rather use that.
On macOS, summaries are generated on-device by Apple Intelligence. By default your transcripts and entry database stay on your machine.
I use more than one laptop, and found I would often want to reference prior work that I did on one computer that I did not have in my local database.
To solve this, I built Contextify Cloud: opt-in sync that pools each machine's entries, so a search from the laptop I'm on also finds work I did on the other one.
Hosted sync is paid, $12/mo. It is free if you self-host the sync server, keeping the pooled database on infrastructure you control. The server is source-available under the Functional Source License.
The same pooling works for workgroups on a per-seat commercial license, hosted or self-hosted: teammates' shared projects become searchable across the group, each result labeled with who did the work, and sharing is per-project, so each member decides what the group sees.
What it's not: the Mac app is not open source, Windows is not supported, and Gemini CLI, Pi, and OpenCode are not ingested yet (all are planned). Free for personal use; using it for work is $8/mo.
I'd love to hear how you handle history across more than one coding agent.
bredren•34m ago
I’ve described some of the challenges in parsing and normalizing the variant JSONL files codex and Claude code produce in prior comments.
There is some interesting nuance to how Claude Code writes its queue-operation records.
Early on I focused on the macOS client, working. To get the summarization tuned in, and thought of the product as more of a HUD.
But as I used it I found that making the corpus of session data available to the AI was the real power tool.
This is what guided me toward adding a Linux client (which does not have a GUI, but provides all of the ingestion capability of the Mac app.)