Start locally: carry one decision into a new session
Save a decision in local memory, restart a connected assistant, and ask it to find that decision. This is the first result; API release safety is a separate path below.
Check prerequisites and preview setup
You need Node.js, Python 3.9+, and a supported assistant. The 4.20.1 setup code writes MCP entries for Claude Code (~/.mcp.json, ~/.claude/settings.json), Codex (~/.codex/config.toml), Cursor (~/.cursor/mcp.json when installed), and Antigravity (~/.gemini/antigravity-cli/settings.json when present). It may also change global instruction files. Its configuration can allow Delimit tools without individual prompts. Review the preview and your assistant permissions first.
npx delimit-cli setup --dry-run
Setup checks for updates and may download modules. See data handling for the network details.
Connect and restart the assistant
npx delimit-cli setup
Codex is connected when setup finishes (codex mcp list shows delimit). Claude Code reads .mcp.json from the project you open, so setup's entry in ~/.mcp.json only applies to sessions started in your home directory. To use Delimit from any project in Claude Code, register it once at user scope:
claude mcp add --scope user delimit -e PYTHONPATH=$HOME/.delimit/server:$HOME/.delimit/server/ai -- $HOME/.delimit/venv/bin/python $HOME/.delimit/server/ai/server.py claude mcp list # delimit: ... - Connected
Then restart the assistant: MCP servers load when a session starts. Cursor and Antigravity get a config entry only when setup finds them. Copilot and Muse use the separate delimit chat wrapper; setup does not give every assistant identical integration. Verified on delimit-cli 4.20.1 with Claude Code 2.1 and Codex CLI 0.155 on 2026-09-26.
Save one specific decision
npx delimit-cli remember "Rejected Redis for sessions: no persistence guarantee on our plan"
The 4.20.1 command prints Remembered. (1 memory total) in a clean home. Or ask your connected assistant to save the decision with delimit_memory_store.
Start a fresh assistant session
Close that session and open a new one, in the same connected assistant or another connected assistant on the same machine. The record remains in local storage.
Ask for the decision
Ask: “What did we decide about session storage? Check the shared Delimit record before answering.” In our run, both Claude Code and Codex called delimit_memory_recent and answered from the saved entry, naming its id. delimit_memory_search (search by meaning) requires Pro and returns a premium-required result on Free; on Free the assistant reads recent entries. A specific decision is retrieved when you ask for it. Separately, in Claude Code, Delimit's session hooks save a short summary at session end and print it when the next session opens, so “where were we?” is answered from Delimit's record too. Before the decision was saved, the same question in both assistants returned “no record” — that is the control.
Inspect the local record yourself
npx delimit-cli recall redis
The 4.20.1 scratch run printed Delimit Memories, the saved Redis decision, and 1 memory found (1 total). This CLI recall searches the local file by term. You can also open the saved ~/.delimit/memory/mem-<id>.json file. Version 4.20.1 writes one JSON file per memory; memories.jsonl is only a legacy read path.
Next: hand work between assistants
Ask the first assistant to add a task with delimit_ledger_add and write a bounded note with delimit_handoff_create (what is done, what is left, what was decided). In the next assistant, ask it to check the record: it calls delimit_handoff_list and delimit_ledger_list, reads the note and continues. In our run, Claude Code wrote the task and handoff for a half-finished function and a fresh Codex session picked it up, implemented the rest and made the tests pass. You still choose the next assistant, start its session, ask it to check the record, and approve its edits; in a non-interactive codex exec run the ledger and handoff updates are refused because they need your approval. Delimit keeps the record, not your working tree — uncommitted files are still git's.
Continuity demo transcript
Recorded 2026-09-26 on delimit-cli 4.20.1, Free plan, a fresh home directory, an empty project. (1) A new Claude Code session is asked what was decided about session storage; it calls delimit_memory_search (premium required on Free), delimit_ledger_query (0 items) and delimit_memory_recent (empty) and says it found no decision. A new Codex session does the same. (2) From the terminal: delimit remember "Rejected Redis for session storage: our hosting plan gives no persistence guarantee. Use Postgres-backed sessions." → Remembered. (1 memory total); delimit recall redis prints the entry mem-195bd7396c72. (3) A new Claude Code session, same question: delimit_memory_recent returns the entry and it answers “use Postgres-backed sessions, not Redis”, citing the id. (4) A new Codex session, same question: same tool, same answer. (5) Claude Code is asked to save a second decision with delimit_memory_store; delimit recall openapi prints it — one record, two doors. In headless runs the Delimit tools were pre-allowed; an interactive session asks once per tool.
Separate path: API release safety
For teams checking OpenAPI changes. These commands are independent of the continuity first win. Local check and lint return nonzero on failure, but a merge is blocked only when the job is wired into CI and made a required status check.
Try it on a sample API
npx delimit-cli try
Runs the governance pipeline on a built-in sample in a temporary directory and saves a short report (delimit-report.md) in the current folder.
Add API governance to your project
npx delimit-cli init
Run it in your repository. It finds your OpenAPI specs, creates .delimit/policies.yml with the default policy, and records a first report.
Compare two versions of a spec
npx delimit-cli lint old.yaml new.yaml
Classifies each change, applies your policy, and prints why it breaks and how to fix it, with a migration guide. For a plain list of changes, use npx delimit-cli diff old.yaml new.yaml.
Record what an AI-assisted command did
npx delimit-cli wrap -- claude -p "add tests for payments"
Wrap any command, such as an assistant CLI. Wrap records the evidence its checks capture and saves a locally HMAC-signed receipt. The receipt does not establish correctness, security, audit, or human approval.
Wrap is advisory by default. Add --enforce to make policy violations fail the command, or --max-time 60 to stop a wrapped command after 60 seconds.
Render your receipts as a page
npx delimit-cli trust-page -o ./trust && npx delimit-cli ai-sbom -o ./ai-sbom.json
Turns your local receipts into a static HTML page with a JSON feed, and a CycloneDX 1.6 bill of materials with AI-specific fields. Host the output wherever you like.
Framework quickstarts
Copy a directory. Push. Governance runs automatically. Each quickstart is a minimal API with the same five endpoints, a valid OpenAPI 3.0 spec, and the Delimit GitHub Action wired up.
View all quickstarts on GitHub