Adding memory to Kimchi Coding

a pi descendant that kept pi's transcript and pi's wiring

Kimchi Coding is a pi descendant, and it kept pi's transcript as well as pi's wiring: a JSONL log per working directory under ${KIMCHI_CODING_AGENT_DIR:-~/.config/kimchi/harness}/sessions/, with the directory encoded into the folder name between double dashes. It can resume one of those; a new session reads none of the others, and none of them knows what you did in Claude Code or Codex in the same repo. This page is about adding that.

What Kimchi already has

The session logs, resumption by session, and two compatibility extensions that read Claude Code's surfaces — both shipped disabled, which is the whole story of this page.

Adding recall

deja install kimchi

Two files, reversible with deja uninstall kimchi: the MCP server in the agent directory's mcp.json — the path read out of Kimchi's mcp-adapter config rather than assumed from the lineage, and it honours $KIMCHI_CODING_AGENT_DIR the same way the reader does — and the shared skill under ~/.agents/skills/.

The rest is a switch that is yours to throw, which is why deja prints it instead of claiming auto-recall:

kimchi resources enable extensions.claude-code-hook-adapter
kimchi resources enable extensions.claude-code-skills

The first picks up the hooks deja install claude writes, so the digest arrives at session start and a failing command gets answered where it failed. The second loads ~/.claude/skills, where deja already writes; in Kimchi a skill is also the command, since that extension contributes skills through resource discovery and /skill:<name> comes with it. Neither is a second file to install — both are the same two lines above.

deja doctor prints guidance unsupported on the Kimchi row. That is this: there is no guidance file of Kimchi's own to write, so the tool descriptions and the Claude-shaped skill are what the model gets.

What arrives

With the server alone: what the model asks for, through the tool. With the hook adapter enabled: a short digest of the project's history at session start, and the fix beside a failing command. An injection is capped at 1,536 bytes per prompt and about 4 KB per tool call. What memory costs has the measured comparison.

The part that is not about Kimchi Coding

The index covers every agent's transcripts on the machine — thirty-four of them, each in its own format — so a fix found in Claude Code answers a question asked in Kimchi Coding, including sessions from before any of this was installed. A transcript a client later deletes stays searchable; only deja forget drops one on purpose. Nothing here writes memories, so there is nothing to hallucinate into your history; indexing and search are local, and credentials are stripped as the index is built (privacy).

Getting started · Switching between agents · The Kimchi Coding session format

Found this useful? Star deja-vu on GitHub.