Claude Code forgets everything the moment you type /clear. Hydrate is the small local daemon I wrote so it stops forgetting.
I use Claude Code every day on real work. The thing that wore me down was not the quality of the output, it was the amnesia. Every new session starts from nothing. You re-explain the project’s conventions, the decision you made last Tuesday, the reason one file is the odd one out. After the fifth time explaining the same thing to a fresh context window, I started building a memory layer instead of repeating myself.
Hydrate runs as a small daemon on your own machine. It watches each Claude Code session, distils what mattered, and puts the relevant parts back into your next prompt. Memory across sessions, across the projects you switch between, and across the machines you choose to sync. Nothing leaves your laptop in the hot path.
What it actually does
Three claims, and they are the whole product.
Memory across sessions. Claude Code forgets every /clear. Hydrate does not. It keeps a fact store and a separate canon of binding decisions, and it recalls the parts that match what you are working on now.
It works offline. The daemon, the index and the MCP server all run locally. There are no third-party calls between you typing a prompt and the context arriving.
One auditable surface. Five small Go binaries, under 10 MB all told. No kernel hooks, no background uploader quietly shipping your code somewhere.
The recovery loop
The flow I lean on most is distill, clear, resume. Before I clear a session I run /hydrate-distill, which compresses what just happened into compact memory. I clear. Then /hydrate-last pulls the thread back up in a fresh window, goals and all. That loop is the headline trick: you get the clean context window without losing your place.
There are seven slash commands in all. /hydrate recalls context for the current topic, /hydrate-project pulls a project’s canon and facts, /hydrate-week gives the last seven days, /hydrate-pack-load imports a shareable project pack, and /hydrate-help prints the reference table.
Under the bonnet
The first time you open a project that already has a CLAUDE.md, Hydrate runs a one-shot pass that lifts the file’s contents into its fact store, so the model does not have to re-read the whole file every turn. The file itself is left alone.
The CLI grew well past the slash commands. hydrate init turns a repo into a Hydrate project and drafts starter canon. hydrate dehydrate ingests markdown docs into the fact store, reversibly. hydrate team push / pull / status uses git as the sync layer for shared canon, so a team can agree on one set of invariants. hydrate skill-mine watches your sessions for repeated tool-call patterns and offers to turn them into Claude Code skills.
The dashboard
hydrate-server exposes a local web dashboard, loopback only by default. It has a live cockpit for token usage and active projects, a force-directed graph of every learned fact, a fatigue view showing which projects are overdue a distill, and a builders section that emits the exact commands for whatever you are trying to set up. Every pane streams over SSE, so it updates while you work.

Where it is
Hydrate is its own thing now, with an organisation, a Homebrew tap, and a home page at gethydrate.dev. The source is proprietary and the public repo ships signed binaries only. It is in beta, with a free tier that covers personal and commercial use within the published limits.
- Install:
brew tap getHydrate/hydrate && brew install hydrate - Home: gethydrate.dev
- Releases and issues: github.com/getHydrate/hydrate-public