Claude Code optimizes for Anthropic’s hosted agent experience. Liminal is a local-first harness — you bring the model (Claude via OpenRouter, DeepSeek, GPT, or Ollama) and keep session artifacts on disk.

Comparison page: Liminal vs Claude Code.

Architectural difference

LiminalClaude Code
Loop locationYour machineVendor infrastructure
ModelAny OpenAI-compatible APIAnthropic stack
Traces.agent_sessions/*.jsonlVendor-controlled
MemoryNotes + Obsidian vault you ownProduct memory
LicenseFair-source FSL-1.1-MITProprietary service

Comparison table

Liminal can still call Claude — set AGENT_MODEL to an Anthropic slug on OpenRouter or point at Anthropic’s API. The difference is who runs the tool loop and stores the audit trail.

What Liminal adds for long tasks

  • 140+ tools across families: git, shell, browser, markets, document engine, vault.
  • Dynamic workflows — phased sub-agents with out-of-context storage (workflows use case).
  • Hybrid recallrecall_relevant over notes + vault (Obsidian post).
  • Approvals on destructive tools; optional safety judge.
  • Self-heal lint after edits when enabled.

When Claude Code is enough

  • You want zero local setup and are all-in on Anthropic billing.
  • Tasks stay inside supported repos and vendor UX.

When to add Liminal

  • Compliance needs local JSONL and optional air-gapped models.
  • Multi-model routing (fast vs main, embed model, vision sidecar).
  • Obsidian / workspace memory that survives chat restarts.
  • Research + implementation in one harness (research use case).

Try both models, one harness

AGENT_API_BASE_URL=https://openrouter.ai/api/v1
AGENT_MODEL=anthropic/claude-sonnet-4
AGENT_FAST_MODEL=deepseek/deepseek-v4-flash

Swap AGENT_MODEL without changing your tool configuration or vault path.

Install · Self-hosted explained · Features