Every tool your AI coding agent ships with today.
Files, terminal, git, tests, web research, browser automation, documents, memory, and sub-agents — all included in the free open-source download. No feature paywall.
A loop engineered to keep running
Liminal is a structured ReAct loop wrapped in production-grade plumbing — built to survive the failure modes that kill most agents in the wild.
Retries & circuit breakers
Exponential backoff with wall-time caps, 429 and 5xx budgets, provider-level circuit breakers that route around degraded endpoints.
Context compression
Hot rounds verbatim, warm rounds keep provenance, stale tool results elided to artifact pointers in .agent_artifacts/ — so the model keeps its working set in context.
Drift scoring
Per-turn execution contracts track whether the agent is still on its plan. Detected drift triggers reflection, not silent wandering.
Approval gates
Destructive tools (shell, deletions, force-pushes) require explicit approval in the UI. Optional safety judge skips approval for provably safe calls.
Resumable streaming writes
Large write_file / edit_file payloads stream as tool-call deltas into a staging file. Length-truncated writes resume from a manifest instead of losing the turn.
Compensation ledger
Records partial side effects so a failed multi-step plan can be reversed instead of left half-applied.
142 tools, organized into families
Lazy-loaded by default. The model sees a baseline set; specialized families activate on demand to keep the tool list lean and decisions sharp.
Files & code
read_file (chunked & with-imports), edit_file (replacements or fuzzy diff), write_file, multi_file_apply (atomic + rollback), ast_grep, symbol_index, find_references, rename_symbol (semantic project-wide).
Shell & process
run_shell (approval-gated), run_background, kill_process, run_command_with_pty, run_tests, run_lint with structured changed-files-first scope.
Git
git_status, git_diff, git_log, git_branch, git_commit, git_checkpoint, git_rollback, git_worktree for linked branches under .agent_worktrees/.
Web
web_search + web_fetch with readability extraction, Firefox/Chrome retry on bot walls, hard wall-clock per call. http_request for raw control.
Browser automation
Playwright-backed: browser_open, navigate, snapshot, act, extract, cookies, wait_for, plus 2captcha/CapSolver integration via captcha_solve.
Memory & vault
remember, recall, recall_relevant (hybrid BM25+vector), memory_graph, memory_consolidate, plus vault_read/write/search/links/graph against your Obsidian vault.
Reasoning
think, reason, plan, hypothesize, breakdown — surfaced as tools so reasoning is observable and auditable, not hidden.
Documents
Full pipeline: doc_plan → research → assets → compose → lint → repair → render to PPTX, DOCX, or PDF. Quality gate before export.
Meta
create_tool, edit_tool, list_dynamic_tools — the agent can write and persist its own tools. spawn_agent + wait_for_agents for parallel sub-agents.
Persistence that compounds across sessions
Memory in Liminal isn't a vector dump. It's typed, ranked, contradicted, and consolidated — the system gets sharper the more you use it.
Typed notes
Notes carry a type (reflection, fact, recipe, lesson, etc.) and route to ranking strategies tuned for each. Keys follow {type}:{key}.
Hybrid recall
BM25 + embedding-based vector recall, blended with recency and type bias. Falls back gracefully to BM25-only when no embedding model is configured.
Recipe library
Successful multi-tool turns are recorded by (intent class, tool-phase shape). Similar future turns reuse the recipe — the agent compounds on its own wins.
Failure digest
All-tool-failure rounds auto-write a reflection. A failure_review tool surfaces the digest before retrying a similar task.
Obsidian vault
First-class read/write against your existing Obsidian vault. Wikilink-aware. Auto-discovers vault via obsidian.json or AGENT_VAULT_PATH.
Auto-dream
Background pass (off by default) consolidates session JSONL logs into long-term memory during idle time. The harness's namesake.
One prompt generates a whole assistant
First-run persona bootstrap asks how the assistant should sound. The output is a generated persona artifact — voice, behaviors, and a validated UI theme that drives the web shell.
Soul slices
Persona artifacts split into voice, motivations, mannerisms, taboos, and a living scratch. The model reads them as part of its identity stack.
UI themes
Generated PersonaUiTheme (V1 or V2): palette, motion, shell type, density, typography. Web UI selects one of TerminalShell / HudShell / StudioShell / MinimalShell.
Heartbeat
Optional personality heartbeat — idle ticks where the assistant can act autonomously instead of waiting for input.
Streaming generation
Persona artifacts stream live during bootstrap, so you watch the assistant come into focus instead of staring at a spinner.
Cheap when it can be, deep when it has to be
Per-turn intent classification picks the right model and the right reasoning budget. Background work runs on a fast model so the main loop doesn't pay for it.
Two-tier models
Main model runs the full ReAct turn. Fast model runs intent classification, distillation, query rewrites, the safety judge, and auto-dream — single completions billed at fast-model rates.
Reasoning budget
Per-turn reasoning effort inferred from intent class. External surface means the model reasons via the think() + reason() tools — observable instead of hidden in a native reasoning stream.
Prompt caching
On DeepInfra / GMICloud / Novita, the 14k-token harness prefix bills at the cache-read rate on rounds 2+ — ~13× cheaper than cold. Cache hit rate logged per turn.
Effort learning
Outcome scoring records per-intent effort outcomes. The classifier reuses the best as a prior. The harness tunes its own dials over time.
See every step the loop takes
Two UIs (Ink terminal + Express/React web) render every tool call inline. Append-only JSONL traces capture everything for replay.
Live tool cards
Each tool call gets a card with args, status, and result. Think/Reason/Plan tools render distinctly so you see the agent's reasoning unfold.
Streaming text
Token-level streaming on both surfaces. Resumable SSE on the web side with last-event-id reconnect.
Session JSONL
Every event lands in .agent_sessions/<taskId>.jsonl. Replayable. Greppable. The substrate for failure digests, recipe stats, and auto-dream.
Self-telemetry
self_telemetry tool reports the harness's own failure log, rule hit stats, recipe stats, and effort outcomes — the agent can introspect.
Settings UI
Web Settings modal exposes ~190 typed knobs. Changes save to .agent_runtime_prefs.json. No editing .env, no restart for most fields.
Install a local AI coding agent today
Install Liminal AI in one command. Free software, your API key, your machine — edit code, run tests, and ship faster without a SaaS middleman.