# chat-recall > Shared team knowledge, leaked-secret alerts, ranked code findings and tracked > tasks, across every AI coding tool you use. Every coding agent keeps a full > transcript of its work and nothing reads it. chat-recall indexes the sessions > your AI coding tools already write into one place, > redacts secrets on the way, and exposes the result to your agent as an MCP > server with 63 tools (28 registered by default; set > CHAT_RECALL_MCP_PROFILE=full for all of them). chat-recall is a CLI plus a server. The CLI indexes the transcripts your AI coding tools already write to disk, redacts credentials, and syncs them to a server you own or to the hosted service. The server is the only datastore, and it is Postgres: full-text search always, vector search when an embedder is configured. ## Install and configure (one command) npx chat-recall init That is the whole install. It: 1. finds which AI coding tools are on this machine 2. asks you to sign in, in a browser, and waits 3. indexes the transcripts they already wrote to disk 4. redacts credentials before anything leaves the machine 5. registers the MCP server in ~/.mcp.json so the agent can call it 6. installs the chat-recall skills into every AI tool it found Step 2 is a consent gate, not a formality. It is an OAuth device flow: the CLI prints a URL and a code and blocks until you approve in a browser. Nothing is read, indexed or uploaded before you do. Decline and the machine is left exactly as it was. Default target is the hosted service at https://chatrecall.dev. Point it anywhere else with --server . ## What leaves the machine, and what does not Read this before installing on a machine that holds work you cannot share. Uploaded, after you sign in: your AI coding session transcripts, plan and task files, CLAUDE.md files, shell history entries and paste-cache entries: the same material your AI tools already wrote to disk. That is the searchable history; the product does not work without it. Removed before upload: credentials. A local scanner masks API keys, tokens, passwords and connection strings, and only a masked preview and a rule name are sent. NOT removed: ordinary conversation content. Names, business context, file paths and anything else you typed are uploaded as written, because that is what you later search for. Redaction targets secrets, not personal data. If a project must not leave the machine, exclude it rather than relying on the scanner: chat-recall exclude project ~/work-client # never leaves this machine chat-recall exclude tool cursor # skip one AI tool entirely chat-recall sync-only add my-oss-project # opt in: ship ONLY these exclude and sync-only apply before anything is read, so excluded material is never indexed or transmitted at all. We are the operator of the hosted service, so treat that as an interested party describing its own data handling, and verify it: the source is available at https://github.com/munhq/chat-recall and the redaction and sync paths are in packages/cli/src/sync-client.ts. ## Self-hosting (no account, nothing leaves your network) If uploading to a third party is not acceptable, run the server yourself. Solo use is free and unlimited forever: indexing, sync, search, the MCP server, the knowledge graph, secret scanning and diaries are all included, with no account and no data leaving your network: git clone https://github.com/munhq/chat-recall docker compose up -d --build npx chat-recall init --server http://localhost:8080 --token ct_... Full guide: https://github.com/munhq/chat-recall/blob/main/docs/SELF_HOSTING.md Team features are the exception: shared project history, assigning work to a teammate and per-member activity require a licence key on a self-hosted server. Everything one person uses alone, including Toolkit and the task board, is in the free self-hosted tier. Solo use never needs a key. Email contact@chatrecall.dev for one. Licence is Elastic License 2.0: source available, self-host freely, including inside a company. The one restriction is offering it to third parties as a hosted service. ## Verify it worked chat-recall doctor # detected tools, hooks, skills, server reachability chat-recall search "…" # should return your own past sessions If the agent can call MCP tools, ask it to run `recall_status`. A tool list containing recall_search and recall_smart_resume means it is wired correctly. ## Using it from an agent The point is not the web UI: it is that the assistant searches its own history. Start with these: - recall_smart_resume: rebuild context for a session (needs a session id) - recall_search: free text over past sessions; like_session finds similar ones - recall_recent: what was I working on - recall_edits_timeline: which files changed, when, across every tool - recall_kg_query: what did we decide, and is it still true ## Self-hosting (no account, your own box) git clone https://github.com/munhq/chat-recall && cd chat-recall docker compose up -d # server + Postgres; FIRST RUN BUILDS FROM # SOURCE and takes several minutes chat-recall login http://localhost:8080 ## What makes it different - One index across six tools. Switching assistants does not restart your memory. - It is used through MCP, from inside the assistant, not through a web page. - It detects credentials in sessions and verifies which ones are still live against the issuing service, so a dead key does not page anyone. - A temporal knowledge graph stores facts with validity windows, so "what did we decide" can be answered as of a date. ## Requirements Node 22 or newer. No API keys required: Postgres full-text search is the default backend; vector search and AI summaries are optional upgrades. ## Pricing Every account starts with a 7-day trial: no card, nothing metered. Prices after it: Solo $120/year, which is $10/month, or $15/month billed monthly. Team $180/user/year, which is $15/user/month, or $25/user/month billed monthly. Enterprise is self-hosting with support on negotiated terms: contact contact@chatrecall.dev. There is no promotional code and no introductory rate: the annual price is the price, in year one and at renewal. When a trial ends the account becomes dormant: recall switches off, so searches and session reads stop answering, and new sessions stop syncing. Nothing is deleted: the history is kept in full and export stays full; it is no longer served. Subscribing turns it back on, and one run of chat-recall sync --full brings the server current. Self-hosting is free, forever, for one person. ## Licence Elastic License 2.0: source available. Use and modify it freely, including inside a company; you may not offer it to third parties as a hosted service. ## Links - [npm package](https://www.npmjs.com/package/chat-recall): install the CLI - [source](https://github.com/munhq/chat-recall): the repository - [MCP server](https://chatrecall.dev/mcp/): the MCP tool list - [pricing](https://chatrecall.dev/pricing/): pricing - [security](https://chatrecall.dev/security/): redaction, tenant isolation, session handling - [how it works](https://chatrecall.dev/how-it-works/): the four stages, and where redaction happens - [self-hosting](https://chatrecall.dev/self-hosting/): running it yourself, free for one person - [switch tools](https://chatrecall.dev/switch-tools/): moving between tools without losing history ## Guides - [Giving Claude Code memory with an MCP server](https://chatrecall.dev/guides/claude-code-memory-mcp/) - [How to view your Claude Code session history](https://chatrecall.dev/guides/claude-code-session-history-viewer/) - [Claude Code session history disappeared: four reasons](https://chatrecall.dev/guides/claude-code-sessions-disappeared/) - [Cursor chat history: where it lives and how to read it](https://chatrecall.dev/guides/cursor-chat-history/) - [The three kinds of MCP memory server](https://chatrecall.dev/guides/mcp-memory-servers-compared/) - [Compacting conversation: what Claude Code keeps and drops](https://chatrecall.dev/guides/claude-code-compact-context-loss/) - [You pasted an API key into a coding session. Now what?](https://chatrecall.dev/guides/api-key-pasted-into-ai-chat/) - [Using several AI coding tools without losing the thread](https://chatrecall.dev/guides/multiple-ai-coding-tools/) - [What claude --continue does not do](https://chatrecall.dev/guides/claude-continue-alternative/) - [Where every AI coding tool stores your sessions on disk](https://chatrecall.dev/guides/where-ai-coding-tools-store-sessions/) - [Does Claude Code remember previous sessions?](https://chatrecall.dev/guides/does-claude-code-remember-previous-sessions/) - [Claude Code has auto memory. Where it stops.](https://chatrecall.dev/guides/claude-code-auto-memory-limits/) - [Context left until auto-compact: what the number counts](https://chatrecall.dev/guides/context-left-until-auto-compact/) - [/clear vs /compact in Claude Code](https://chatrecall.dev/guides/claude-code-clear-vs-compact/) - [Compact instructions: tell /compact what to keep](https://chatrecall.dev/guides/claude-code-compact-instructions/) ## Legal - [chat-recall terms](https://chatrecall.dev/terms/) - [chat-recall privacy policy](https://chatrecall.dev/privacy/)