A small, fast terminal client over the same local index. Grep your past sessions, pull a packed transcript to stdout, and feed it straight into the next agent.
Install
Easiest path: install the desktop app — it puts cal on your PATH, ready to use. Same local index, nothing else to set up.
Or build from source
$ cargo install --path apps/desktop/src-tauri --bin calUse it
# semantic + keyword search, newest-best first$ cal search "vector index migration" -y# the most recent threads$ cal recent -n 10# packed transcript to stdout — pipe it anywhere$ cal cat 42 | pbcopy# seed another agent with past context$ claude "$(cal cat 42)"# a cited answer synthesized from your own history (RAG)$ cal ask "how did we handle the write-lock contention?"# every thread that touched a file path$ cal files embed/mod.rs# the thread→commit timeline — which commits each conversation produced$ cal commits# recurring errors you keep hitting across every tool (last 180 days)$ cal issues# estimated $ spend by model + your priciest threads$ cal cost# one JSON bundle for an external PR auditor (provenance + file history + errors)$ cal audit-pr . --changed-files src/auth.rs --shas $(git rev-parse HEAD)# a project's durable memory (decisions / gotchas / open TODOs)$ cal memory# record a decision, with the reasoning behind it$ cal remember decision "use sqlite-vec for the KNN index" --because "fewest deps, ships in-process"# surface settled decisions before re-litigating one$ cal check "switch the KNN index to faiss"# checkpoint a thread, then resume it in another agent later$ cal snapshot 42 -l pre-refactor# close out a leftover TODO$ cal done 137# inject the repo's memory into AGENTS.md so any agent reads it$ cal agentsEvery command takes --json for scripting, -s to filter by source, and -p to scope to a project; search, recent, and related also take --starred and -t TAG. There's also cal stats for a corpus overview, cal export to write an Obsidian note, and cal related to find threads near some text.
cal commits infers, entirely on-device, which git commits a thread produced — overlapping the files a thread discussed with git log's changed files inside the thread's time window, where the shared-file count is the confidence. Run it inside a git repo or pass a path; it prints the thread→commit timeline, one row per commit with its linked-thread count.
Curate as you go with cal star, cal tag, and cal tags; surface leftover work with cal todos. With distillation enabled (local Ollama or an API key), cal distill and cal knowledge pull a thread's summary, decisions, and gotchas, and cal decisions / cal gotchas recall them semantically across your whole history.
Each project keeps a durable memory: cal memory prints its aggregated decisions, gotchas, and open TODOs (defaults to the current repo). And it writes back too — cal remember decision|gotcha pins a new fact into that memory (add --because "<why>" to a decision to keep its rationale), and cal done closes a leftover TODO. These only ever touch Callimachus's own index and memory, never your files.
A contradiction guard keeps agents honest: cal check "<proposal>" surfaces the settled decisions on a topic before one gets re-litigated. And for handoff across a context-window compaction or between tools, cal snapshot <thread-id> (optionally -l LABEL) saves a durable, resumable checkpoint — a packed transcript plus carry-forward project memory; cal snapshots lists them and cal resume <id> (optionally -a AGENT) picks one back up.