A Hugging Face community article published on September 17, 2026 describes funes, a local memory tool that indexes traces from Claude Code, Codex, pi and Hermes in one Lance dataset. Its purpose is direct: agents can recover useful passages from earlier sessions instead of treating every new conversation as a blank slate.

Funes is installed with commands such as funes add codex, alongside variants for Claude, pi and Hermes. The setup builds the first index, records the tools and installs hooks that index new turns automatically. A later funes recall returns ranked passages from real sessions, shows where each result came from and provides a get command for opening the surrounding turns.

Retrieval stays tied to the original session

Funes does not ask an LLM to summarize traces during ingestion. It parses the transcriptions, segments their blocks, creates embeddings locally and stores the results in Lance. When a user runs funes ask claude, funes first retrieves relevant passages on the local machine, then asks the selected agent to answer from that material. The answer therefore remains connected to retrievable source turns rather than relying on an automatically generated digest.

Its indexing is deterministic. The embedding model is pinned and recorded in the dataset, and funes refuses to query a memory built with an incompatible model. Changing the embedding model is consequently treated as a compatibility boundary, rather than an invisible implementation detail that might alter results inside the same memory.

Local operation includes a secret-handling gate

Funes runs locally by default, while sharing remains the user’s choice. When TruffleHog is available, indexing masks the identifiers it detects before they are stored. The funes push path adds a permanent fail-closed scan: any block that still contains a secret prevents the push. The masking safeguard depends on TruffleHog being available during indexing, but the push check is designed to stop rather than silently publish a flagged block.

The Lance dataset keeps fragments, their original text, provenance and vector embeddings in the same table, alongside BM25 and vector indexes and validated dataset versions. During recall, funes combines vector search with BM25, reranks the strongest candidates and applies a recency weighting. Deterministic fragment identifiers also prevent already written fragments from being embedded again.

For people using several coding agents, the concrete change is a shared, searchable record of earlier work that stays local by default and exposes provenance when context is recovered. The compromise is deliberate: funes prioritizes traceable passages and surrounding turns over a precomputed natural-language summary, then relies on the selected agent to interpret the retrieved material when an answer is requested.

Funes turns past Claude Code, Codex, pi and Hermes sessions into a local retrieval system built around Lance. Its pinned embeddings, provenance-aware recall and fail-closed push behavior make the memory easier to inspect and constrain, while the user retains control over whether it is shared.

Official sources

Sources and methodology

  1. Official source: huggingface.co Opens an external source