
Give Your Coding Agents a Memory You Own

The blog introduces funes, a durable memory layer for coding agents (Claude Code, Codex, pi, and Hermes). The problem: each agent session starts from zero, forgetting the reasoning behind past decisions. While agent traces already capture dense history—including attempts, errors, and rationale—they remain an unindexed archive that cannot be easily queried. funes indexes those traces into a reusable memory that agents can recall during new sessions.
funes is a single binary installed via curl. Adding it to an agent (funes add claude) builds an initial index from local session logs, gives the agent recall and get tools, and automates incremental indexing of each completed turn. Underneath, a deterministic pipeline parses traces into turns and blocks, chunks the text, embeds it with a pinned local model, and writes to a local Lance dataset. Queries combine vector and BM25 search, fuse their rankings, rerank with a cross-encoder, reweight by recency, and attach neighboring chunks. No ML runtime dependency is required; embedding and reranking happen on the user’s machine.
Three key properties: (1) One memory across agents—all supported agents write to the same shape, and recall spans histories with each hit naming the source agent. (2) Raw evidence stays intact—nothing is distilled into a fact at write time; results always point back to the original turn. (3) Local by default—no account or hosted inference is needed; the user’s coding agent does the reasoning and the local model handles indexing.
For shared memory, funes add codex acme/funes-memory binds the local memory to a Hugging Face dataset (private by default). Credentials are redacted during indexing, and an additional scanner checks each chunk for secrets before publishing. Remote memories are cached locally, so warm queries return at local speed. The Hub provides ownership, access control, versioning, and distribution.
funes ask offers a read-only query interface for humans: it retrieves passages, hands them to a coding agent, and returns a grounded answer naming its sources. If evidence is insufficient, the agent says so.
On the handoff-vs-recall benchmark, recall was 8x cheaper than a written handoff on one task and 4x on the other. Compaction (the default in many agents) sometimes failed because its summary flattened critical findings, whereas recall returns the original passages.
The blog also notes that funes builds on open-source embedding models, Lance’s append-only datasets with cheap incremental writes, and the Hub’s caching and content-dedup for datasets. It is open source itself, with an issue tracker for install problems or unsupported agents. The security scanner is documented in a linked SECURITY.md file, which states what it covers and what it doesn’t.


