Adding memory to herdr

cross-agent memory across detachable panes for Claude Code, Codex, Cursor, opencode and Grok

herdr multiplexes coding agents (claude code, codex, cursor, opencode, grok) inside persistent, detachable panes with live status tracking (working, blocked, idle), a socket API, and layout restore after detaching with ctrl+b q. What herdr does not unify is conversation memory: every pane still reads only its own agent's session log.

Wiring every harness herdr runs

deja install --auto

Because deja wires each underlying harness directly rather than sitting in the terminal PTY path, one command sets up recall across every tool installed on the machine — without changing your herdr keybindings, socket server, or pane layouts. You can also install targets individually (claude-auto, codex-auto, cursor-auto, opencode, grok-auto).

What panes share

  • Shared local index: as soon as any harness writes a turn to disk, deja indexes it into ~/.cache/deja/index.db (BM25 search with secret scrubbing) alongside all forty-seven supported agent formats.
  • Cross-harness handoffs: when a Claude Code pane hits a wall or finishes a submodule and you open Codex in another pane, deja handoff and SessionStart/UserPromptSubmit hooks carry over settled decisions and recent commands (session handoffs).
  • No duplicate mistakes across splits: error resolutions recorded in one pane flow back via fix and per-file history in every other pane working on the same repo (parallel sessions).

Format references for panes in herdr

herdr reads the standard native stores of each tool it launches: Claude Code, Codex CLI, Cursor, opencode, and Grok Build. Indexing and search stay on your machine, with tokens stripped during indexing.

Parallel sessions · Switching between agents · Getting started

Found this useful? Star deja-vu on GitHub.