Skip to content

Feature catalog

This is the published mirror of FEATURES.md in the repository — the authoritative inventory of every warden capability and which surface can drive it.

warden exposes its features across five surfaces — the CLI (warden, aliased wd), MCP (83 structured tools for an orchestrating agent), the /warden skill, the web GUI, and the TUI cockpit.

Coverage legend: ✓ supported · — not applicable / not present on that surface · CLI-only features are marked and explained (host/process/interactive/secret operations that are meaningless or unsafe over MCP/web).

Projects store complete agents[], pipelines[], terminals[], plans[], and autopilots[] membership lists. Plan-run execution entities carry a plan_id back-ref. Agents store parent_id, child_agents[], and child_pipelines[]; pipelines store parent_agent_id. Job agents belong to pipeline jobs, never the owning agent’s child_agents[]. New projects open empty; reopening restores hibernated members without auto-spawning an orchestrator. Agent UX states are pending, busy, idle, need-input, done, orphaned, and rate_limited.

Spawn, inspect, message, and tear down per-task coding agents (Claude Code by default; each in its own tmux session, most in a git worktree).

FeatureCLIMCPSkillWebTUIDocs
Spawn an agent (ticket / prompt / typed)startspawn_agent✓✓nspawn-and-watch
Prompt-spawn (no repo, auto-typed)start "<prompt>"spawn_agent✓✓nspawn-and-watch
List agentslslist_agents✓✓listfleet-operations
Agent status / detailstatusget_agent✓✓ifleet-operations
Tail recent outputtailget_agent_output✓✓viewspawn-and-watch
Send text into an agentsendsend_to_agent✓✓—spawn-and-watch
Digest (catch-up summary)digestdigest✓✓irotation-digests
Attach to the live sessionattachCLI-only (interactive tmux)✓✓ (terminal)enterspawn-and-watch
Adopt an existing Claude sessionadoptadopt_agent✓——agents-lifecycle
Tear down (umbrella)stopstop_agent✓✓xfleet-operations
Finish cleanly (commit/push guard)done (= stop --keep-worktree)terminate_agent (force)✓✓xlifecycle-and-rails
Terminateterminate (= stop --keep-record --keep-worktree)terminate_agent✓✓xlifecycle-and-rails
Restore an orphaned agentrestorerestore_agent✓✓ragents-lifecycle
Recover an archived orphaned agent with a live pane (tombstone-reaper safety net)recoverrecover_agents✓——agents-lifecycle
Delete / hard-purgedelete (= stop --keep-worktree, record only)delete_agent✓✓Dfleet-operations
Mandatory agent naming (auto-resolve when --name/name omitted; role conventions + Fast-Brain-engine slug + adjective-noun fallback; auto-disambiguate)start (omit --name)spawn_agent (omit name)✓✓list name colspawn-and-watch
Live 3–5 word activity badge per agent (Fast-Brain; activity.interval, default 15s; keeps previous on failure)automatic— (REST activity field only)——agent row badgetui-cockpit
Fast-Brain PR title/body (KindPRSummary; per-field fallback; explicit title/body wins)agent stop <AGENT> --pr—✓——lifecycle-and-rails
Fast-Brain tier router (opt-in router.use_fast_brain, default off; lowest precedence, confidence ≥ 0.8)start (omit --tier/--task/--role)spawn_agent (omit pins)✓——spawn-and-watch
Rename an agentadopt --name / spawn namespawn_agent (name)✓✓info panelfleet-operations
Tags (group / filter)start --tag, ls --tagspawn_agent (tags)✓✓—fleet-operations
Model selectionstart --model / configspawn_agent (model)✓✓—env-vars
Agent role (built-in persona + default flags) at spawnstart --rolespawn_agent (role)✓✓ (Role select)ctrl+r (new-agent)agent-roles
Switch a running agent’s role (relaunch re-injects)set-roleset_role✓——agent-roles
List the built-in role catalogrole listlist_roles✓✓ (Role select)listagent-roles
Tiered model routing — derive the model tier from a taskstart --task (also REST; no pipeline task:)spawn_agent (task)✓——agent-roles
Tiered model routing — pin the model tier for the quota-balanced resolverstart --tier (also REST and pipeline tier:)spawn_agent (tier)✓—ctrl+t (new-agent; live candidate table)agent-roles
List the backend’s live model menumodels (--backend, --json)CLI-only (agent-native; local worktree exec, no daemon round-trip)✓——backend-superpowers
Backend selection (Claude / Aider / OpenCode / Codex / Crush / Goose / Cursor / Antigravity)start --aiclispawn_agent (backend)✓—— (CLI/MCP pin; TUI is tier-first)agent-backends — only claude is stable; codex and antigravity are β beta; aider, opencode, crush, goose, and cursor are 🧪 experimental
Terminal session (kind=terminal) — managed $SHELL seat, no AI (prompt ignored); back-compat backend=terminal aliasstart --kind terminalspawn_agent (kind)✓✓ (Terminals tab)t (in the cursor’s project)terminals
Handoff — delegate (new / --to existing) or retire self (--retire)handoffhandoff_agent✓——rotation-digests
Self-rotation (retire → successor) — alias for handoff --retirerotaterotate_agent✓——rotation-digests
Fork an agent’s session into a new managed agent (Codex-only; branches the conversation, source keeps running; dirty-tree carry)forkfork_agent✓——backend-superpowers
FeatureCLIMCPSkillWebTUIDocs
Task --type (development, analysis, spike, pr-review, code, docs, website, debug-ci, tests, other)start --typespawn_agent (type)✓✓—worktrees-task-types
Managed worktree per agentautomaticautomatic✓✓—worktrees-task-types
Scratch worktree (analysis/spike)start --worktreespawn_agent (worktree)✓✓—worktrees-task-types
In-repo opt-out (write-agent)start --in-repospawn_agent (in_repo)✓✓—worktrees-task-types
List worktreesworktree list (alias worktree ls; bare worktree)list_worktrees✓——worktrees-task-types
Prune orphaned worktreesworktree prune (alias prune)prune_worktrees✓——fleet-operations
Clean merged branches + stale worktreesworkspace clean (alias clean)—✓——workspace-release-hygiene
Remove one agent’s worktreeremove-worktree (= stop --keep-record, worktree only)remove_worktree✓✓—fleet-operations
FeatureCLIMCPSkillWebTUIDocs
Commit (auto-message from diff; [paths…], --amend/--force)commitcommit (paths, amend, force)✓——lifecycle-and-rails
Push (protected-branch rails, --force-with-lease)pushpush✓——lifecycle-and-rails
Sync / rebase onto base (default: session/integration/default branch; --continue / --abort; non-zero on conflicts)syncsync (base, continue, abort)✓——lifecycle-and-rails
Open / return the PR for the agent branch (agent keeps running)git pr (--base, --title, --body/--body-file, --json)create_pr✓——lifecycle-and-rails
Run project checks (compact failures; works from subdirectories)checkcheck
List configured checks without running themcheck listlist_checks✓——lifecycle-and-rails
SemVer release recommendation and categorized changelog; tag only on explicit confirmationrelease (alias git release)—✓——workspace-release-hygiene
Agent-native diff review (backend’s own reviewer)review (--base, --prompt, --backend)CLI-only (agent-native; local worktree exec, no daemon round-trip)✓——backend-superpowers
Machine-readable review findings (neutral JSON)review --jsonCLI-only✓——backend-superpowers
git-guard hook (deny raw git mutations)git-guard (hook)enforced✓——lifecycle-and-rails
check-guard hook (redirect broad runs)check-guard (hook)enforced✓——lifecycle-and-rails
root-guard / boundary enforcementguard (hook)enforced✓——lifecycle-and-rails
Branch + CI status (per agent)branchesget_branch_status✓✓—observability
FeatureCLIMCPSkillWebTUIDocs
Create from YAML spec / template ([spec.yaml] or -f; --start, --json)pipeline createcreate_pipeline✓✓—pipelines
List pipelines (default: current project; --all / --project / --status / --json)pipeline listlist_pipelines✓✓viewpipelines
Show one pipeline’s jobs/output (--prompts / --json / --watch / --all-jobs)pipeline showshow_pipeline✓✓ipipelines
Startpipeline startstart_pipeline✓✓—pipelines
Cancel (confirms when jobs are live; --yes; cannot restart)pipeline cancelcancel_pipeline✓✓—pipelines
Pausepipeline pausepause_pipeline✓✓—pipelines
Resumepipeline resumeresume_pipeline✓✓—pipelines
Show one jobpipeline job showshow_pipeline (job in payload)✓✓—pipelines
Retry a failed jobpipeline job retryretry_pipeline_job✓✓—pipelines
Edit a pending jobpipeline job editedit_pipeline_job✓——pipelines
Emit a job’s handoff outputpipeline emitemit_pipeline_output✓——pipelines
Delete a pipeline record (always confirms; --yes)pipeline deletedelete_pipeline✓——pipelines
Validate a spec (no daemon)pipeline validatevalidate_pipeline✓——pipelines
List built-in templatespipeline template listlist_pipeline_templates✓——pipelines
Plan-owned pipeline control (pipeline pause/resume/cancel/delete refuse)plan pause|resume|stopcontrol_plan✓——pipelines

5. Coordination (shared context, messages, conflicts)

Section titled “5. Coordination (shared context, messages, conflicts)”
FeatureCLIMCPSkillWebTUIDocs
Shared-context setctx setctx_set✓✓—shared-context-messages
Compare-and-set (claim a task)ctx casctx_cas✓——shared-context-messages
Appendctx appendctx_append✓——shared-context-messages
Get / list / deletectx get/list/delctx_get / ctx_list✓✓—shared-context-messages
Directed message to an inboxmsg sendsend_message✓✓—shared-context-messages
Read inboxmsg inboxread_inbox✓✓—shared-context-messages
Wait for a message (park/wake)msg waitwait_for_message✓——shared-context-messages
File-conflict detectioncollab conflictsget_collaboration_status✓✓—shared-context-messages
Who is editing a filecollab who-is-editingwho_is_editing_file✓✓—shared-context-messages
Project memory — show/edit .warden/memory.mdmemory (--raw, --path, --edit)CLI-only (local, no daemon round-trip)✓——project-memory
Project memory — projected into every spawn (memory.inject)config (memory.inject, default on)automatic (all backends but aider)✓——project-memory
Project memory — auto-curation from digests (memory.curate)config (memory.curate, default off)automatic on completion (proposes unverified entries to the working tree; never commits)✓——project-memory
Project memory — local grounding in the REPL (memory.ground)repl → /memory <q> (/mem, /ask) + project_memory toolREPL-only (Fast-Brain, no full agent turn)✓——project-memory
Projects — first-class daemon projects (open local/remote, close, new, list)projects (list, open, open-local, open-remote, new, close)——✓✓project-groups
Projects — zero-touch auto-registration — launching an agent/pipeline/terminal/plan in a directory auto-registers (or reopens) its project; projects open* is optionalautomatic on start / agent start / pipeline create / plan create / plan run / terminal launch (--project overrides)automatic on spawn_agent—✓✓project-groups
Project groups — named collections of projects shown in the TUI tree; incremental /members add/remove and bulk replaceproject-groups (list, show, create, update, delete, members add|remove)——✓ (read)✓project-groups
Open restores members — opening a project restores the members that were hibernated when it was last closed; it does not auto-spawn an orchestrator, so a project with no restorable members opens emptyautomatic on project open———✓project-groups
Peer awareness — grouped orchestrators learn their Project Group name and sibling orchestrator names via context injection at every (re)launchautomatic (daemon-wired via PeerContextFn)————project-groups
FeatureCLIMCPSkillWebTUIDocs
List pending approvalsapprovalslist_approvals✓✓cockpitapprovals-supervised
Answer an approvalapproveapprove✓✓aapprovals-supervised
Auto-approve toggleauto-approve <id> on|offset_auto_approve✓✓—approvals-supervised
Auto-approve rule policy (tool/glob/regex/paths, per-agent, identical-prompt circuit breaker)auto-approve rules|allow|deny|clear|enable|disableset_auto_approve_policy✓✓—approvals-supervised
Workspace-trust prompt auto-answer (Claude/Codex/Antigravity in-pane; Cursor via --trust; on by default)config (trust_workspace)————approvals-supervised
Model-assisted prompt recognition (a reworded/unknown menu is read by Fast-Brain, verified against the pane, then follows the normal policy; on by default)config (recognize_prompts)————approvals-supervised
Learned prompt shapes — a model-read prompt is learned on its first verified success so the next one needs no model call; list/forget (REST GET/DELETE /api/v1/known-prompts[/{id}]; config known_prompts_max, known_prompts_prune_days)approval known list|forgetlist_known_prompts, forget_known_prompt✓——approvals-supervised
Fast-Brain approval arbiter (optional; confidence threshold, destructive guard, circuit breaker, and fail-open escalation remain authoritative)config (auto_approve.use_fast_brain)automatic while arbitrating✓——fast-brain
Set permission mode (running agent)set-permission-modeset_permission_mode✓✓—approvals-supervised
Supervised spawn (gate every prompt)start --supervisedspawn_agent (supervised)✓✓—approvals-supervised
FeatureCLIMCPSkillWebTUIDocs
Create schedule (cron / at / now; agent or pipeline; same options as start)schedule createcreate_schedule✓——scheduling
List schedules (table with state: enabled / disabled / done / failed)schedule listlist_schedules✓——scheduling
Show one schedule (full fire payload + last run)schedule showget_schedule✓——scheduling
Test a schedule (fire once, next run unchanged)schedule runrun_schedule✓——scheduling
Edit a schedule (only the flags passed)schedule editupdate_schedule✓——scheduling
Enable / disable scheduleschedule enable / disableenable_schedule / disable_schedule✓——scheduling
Delete schedule (confirms; --yes to skip)schedule deletedelete_schedule✓——scheduling
Scheduled-run session linkage (schedule_id on sessions; scheduled-agents capability)——✓——scheduling
FeatureCLIMCPSkillWebTUIDocs
Snapshot worktree + transcriptsnapshot createsnapshot_create✓——snapshots
List snapshotssnapshot listsnapshot_list✓——snapshots
Restore a snapshot (rails)snapshot restoresnapshot_restore✓——snapshots
FeatureCLIMCPSkillWebTUIDocs
Live resource metricsstatsget_metrics✓✓—observability
Metrics history (time-series)stats --historyget_metrics (history)✓✓—observability
Memory-pressure gate / headroomdoctor / spawn gateget_pressure✓✓—observability
Fleet insights (parallelizable pairs, etc.)insightsinsights✓——insights
Cost umbrella (spend + savings in one)cost (cost spend / cost savings)spend + savings✓——savings
Token-savings ledgersavings (alias cost savings)savings✓——savings
Cost governance ($ spend rollup)spend (alias cost spend)spend✓✓$ in lssavings
Budget gate (soft $ cap on spawn)config (tokens.budget_gate) / spawn gateautomatic✓——observability
Full-text searchsearchsearch✓✓—cli
Browse archived agentshistoryhistory✓✓ (archive)—cli
Action audit trailaudit logaudit_log✓——observability
Event stream (SSE)———✓—observability
PTY event journal & stream (runtime.pty: shadow|on; redacted, replayable, cursor-resumable WS at /api/v1/sessions/{id}/pty)config (runtime.pty)——API—pty-runtime
Plain-terminal survival & native attach: independent PTY holder (daemon restart/update/crash keeps the shell; authenticated re-adoption, never a silent relaunch), attach with controller lease + fenced input, cockpit terminal pane (runtime.pty: on)attach <id> (env WARDEN_ATTACH=observe|tmux; WARDEN_PTY_HOLDER=off reverts)——API (/pty, /attach)cockpit terminal panepty-runtime
PTY prompt engine: adapter-normalized prompts, TOCTOU-revalidated auto-answers, learned shapes, native posture modes (runtime.pty: on; agy first)config (runtime.pty)————pty-runtime
Desktop / webhook / Slack notificationsconfig (notify.enabled, notify.webhook_*)automatic✓✓—observability
Context/token guard (gauge, alert, auto-/compact)config (tokens.guard)automatic✓✓gaugeobservability
Force-compact a busy critical agent (interrupt→/compact→resume)force-compact (config tokens.force_compact)set_force_compact✓——observability
Crash / anomaly detection (OOM, loop, pre-crash)configautomatic✓✓—observability
FeatureCLIMCPSkillWebTUIDocs
Export session metadataexportexport_sessions✓——cli
Import session metadataimportimport_sessions✓——cli
Save a spawn presetpreset save / library save-presetCLI-only (local config authoring)✓——cli
List presetspreset listCLI-only✓——cli
Save a prompt templateprompt-template save / library save-promptCLI-only (local config authoring)✓——cli
List prompt templatesprompt-template listCLI-only✓——cli
Fill a prompt template into a spawnstart --prompt-template <name> --set VAR=valueCLI-only✓——cli
Browse presets + prompt templates + pipeline templates (one umbrella)library listlibrary_list✓——cli
FeatureCLIMCPSkillWebTUIDocs
List registered pluginsplugin listlist_plugins✓——plugins
Custom task types via pluginsconfigenforced at spawn✓——plugins
Lifecycle hook events (pre/post spawn, commit, check, teardown)configenforced✓——plugins

The browser GUI (served by the daemon) is a URL-routed shell (/cockpit home · /tui · /pipelines · /metrics · /terminals · /archive · /others · /agent/<id> — deep-linkable, back/forward, shareable). It provides: the Cockpit home (Fleet header + agent grid), a full-screen TUI launcher (top-bar ▢ TUI button) that streams the literal warden tui into the browser, a Pipelines tab with a live DAG, a Metrics tab (per-agent and fleet-total CPU/memory, per-agent context, fleet size, tokens saved — two-column on desktop, single-column on mobile), a Terminals tab (PTY viewport + New terminal; terminals are excluded from the agent grid/counts), an Archive tab, the Others catch-all (attention queue, conflicts, activity; sits last), in-browser attach terminals, a header-button Context & Messages overlay, spawn modal, bulk actions, keyboard shortcuts, and theming.

FeatureWhereDocs
URL routing (deep links, back/forward)all routesweb-mission-control
Agent grid + Fleet header / busy-idle badgesCockpit (/cockpit, home)web-mission-control
Attention queue / approvalsOthers (/others)web-mission-control
Pipelines tab + live DAGPipelines (/pipelines)web-mission-control
Metrics: per-agent + fleet-total CPU/mem, per-agent context, fleet size, tokens saved (2-col responsive)Metrics (/metrics)observability
Terminals tab (PTY viewport + New terminal; excluded from the agent grid/counts)Terminals (/terminals)web-mission-control
Archive (history)Archive (/archive)web-mission-control
In-browser attach terminalAgent (/agent/<id>)web-mission-control
Full-screen TUI launcher — the three-pane cockpit streamed edge-to-edge into the browser (same panes, shortcuts, real shells & live agent sessions; Ctrl+Q exits); self-healing (survives daemon restarts; a wedged session is auto-rebuilt, or force one with warden tui --rebuild-web-cockpit)top-bar ▢ TUI button (/tui)web-mission-control
Per-agent backend logo on cards + group-by Agent (claude/aider/…; empty ⇒ claude)Cockpit (/cockpit)agent-backends
Context & messagesheader 🗒 overlayweb-mission-control
Spawn modal (+ New agent) — incl. a Role dropdown (built-in role picker, defaults general)header buttonagent-roles
Bulk actionsBulk action barweb-mission-control
Conflicts panel / activity feedOthers (/others)web-mission-control
Keyboard shortcuts + helpglobalweb-mission-control
REST API + OpenAPI (/api/docs)daemonapi-openapi

A terminal mission-control. Keys: n spawn · t new terminal in the cursor’s project · enter attach · i info/inspector · a approve · x terminate · D delete · d digest · r refresh · f filter · g/G top/bottom · o/p panes · s sort · c context · M-t/M-a/M-p rotate the terminal pane over terminals / the agent pane over agents / the agent pane over pipeline agents (add Shift — M-T/M-A/M-P — to reverse; each grabs focus on the pane it drives; or the config-free Ctrl-b prefix fallback — Ctrl-b then t/a/p — for terminals that don’t send Alt/Option as Meta, e.g. macOS Terminal.app / iTerm2) · ? help · q quit. A ◆ and a bold name badge mark the agent/terminal currently shown in a pane (tracks both enter-open and the M-t/M-a/M-p rotation). Includes a pipeline view and per-job info.

FeatureWhereDocs
Agent list + live status (incl. per-agent backend token; empty ⇒ claude)control pane → Agents sectiontui-cockpit
Control-pane navigator tree — grouped by project; a project’s agents, pipelines, plans and terminals nest under itcontrol panetui-cockpit
Terminals nest under their project (created on demand, never auto-spawned); t creates a terminal in the project under the cursorcontrol pane → project tree / terminal panetui-cockpit
Inspector (i) — agent & pipeline detailinspectortui-cockpit
Approvals cockpit (a)cockpittui-cockpit
Digest (d)inspectortui-cockpit
Pipeline viewpipeline panetui-cockpit
Agent sub-trees (spawned agents nest under parent; h/l collapse; tombstone on parent delete)main panetui-cockpit
Spawn / attach / terminate / deletekeybindingstui-cockpit
Role picker in the new-agent form (ctrl+r; built-in catalog, defaults general)new-agent formagent-roles
Tier picker + live candidate table (ctrl+t; auto / tier-1/2/3; headroom bars; resolver picks backend+model)new-agent formagent-roles
Shift-to-select (native copy under tmux mouse mode)help hinttui-cockpit
Native tmux window when launched inside tmux (no nesting; auto via $TMUX)tui --tmux-nativetui-cockpit
FeatureCLIMCPSkillWebTUIDocs
MCP server (stdio)mcpn/a (is the server)✓——mcp-and-skill
/warden Claude skillshipped in skills/drives MCP/CLI✓——mcp-and-skill
Interactive REPLrepl (aliases interactive, i)CLI-only (interactive REPL)———repl
↳ deterministic / commands (no model)/agents, /spawn, /tell, … /help————repl
↳ line editor: history, reverse-search, live / menu, Tab completion, colourreadline-backed————repl
↳ guided argument forms (pick-lists + free text, Fast-Brain pre-fill)bare /spawn, /spawn+ <prompt>————repl

15. Backend registry (detected CLIs, tiers)

Section titled “15. Backend registry (detected CLIs, tiers)”

warden detects the coding-agent CLIs installed on this machine (claude, codex, aider, …) and persists each in an embedded ScrivaDB store (~/.warden/backends) with a billing tier, an enabled flag, and at most one default. The store is warden’s single source of truth for which backends exist and how they’re tiered: autopilot’s cost-tier ladder reads from it. warden’s own internal thinking runs on Fast-Brain instead (thinking-mode and the reserved local row are retired). Detection is a fact (installed / binary path / detected-at) a rescan reconciles; tiering is a preference (tier / default / enabled) a rescan preserves.

Tiers: free · subscription · pay_per_use · unclassified .

FeatureCLIMCPSkillWebTUIDocs
List the registry (installed, tier, default, enabled, limited)backends list (alias ls)list_backends✓✓ (🧩 backends panel)bbackend-registry
Rescan installed CLIs (reconcile detection, preserve prefs)backends rescanrescan_backends✓✓ (⟳ Rescan)rbackend-registry
Set a backend’s billing tier (free|subscription|pay_per_use|unclassified)backends tier <id> <tier>set_backend_tier✓✓ (Tier dropdown)t (cycle)backend-registry
Set the single default backendbackends default <id>set_default_backend✓✓ (Default radio)d/enterbackend-registry
Enable / disable a backendbackends enable|disable <id>— (REST PATCH /backends/{id}; no MCP tool)✓ (via CLI)✓ (Enabled checkbox)e/spacebackend-registry
Fast-Brain internal thinking (classification, naming, commit messages, digest narration, memory curation, REPL planning, crash/stall/CI diagnosis, and priority admission — latency-bounded, fail-open)automaticautomatic✓——fast-brain

The registry supersedes the deprecated autopilot.brain.backends ladder and autopilot.brain.allow_pay_per_use gate — those keys are imported once on the first boot after upgrade, then ignored (edit tiers via the surfaces above).

FeatureStatusDocs
Node device authorizationShipped: warden login provisions a local certificate identity for a compatible Hubwarden login device flow
Node-side relay wire contract and accept-side scope enforcementShipped building blocks; Hub service and dial-out connector are plannedrelay contract
Versioned daemon API shared by web and future clientsShippednode API client contract
Android app and Hub-routed mobile connectionPlanned; use the mobile-responsive web dashboard todayAndroid connectivity status

Plans are ScrivaDB-canonical records. Autopilot is the long-running execution mode that gives a Plan a manager, isolated workers, a daemon-owned landing loop, and one owner-merged final PR. See Plans, Using plans, and Autopilot for the model and safety boundaries.

FeatureCLIMCPSkillWebTUIDocs
Create, inspect, and list canonical Plansplan create|show|listcreate_plan, get_plan, list_plans✓✓project treeusing-plans
Modify a pending Plan definition or task DAG (revision-checked; non-pending plans reject changes)plan update|edit|task add|edit|rmupdate_plan✓✓—Plans
Run a Plan in autopilot, pipeline, orchestrator-worker, or manual modeplan run <id> --mode …run_plan✓✓rusing-plans
Track task status and executor stateplan task status, plan show --watchupdate_task_status✓✓project treeusing-plans
Pause, resume, stop, or destructively restart an executorplan pause|resume|stop|restartcontrol_plan, restart_plan✓✓—Autopilot guide
Archive / unarchive a Plan (preserve unmerged branches and task progress)plan archive|unarchivearchive_plan, unarchive_plan✓✓ausing-plans
Autopilot manager / worker / resolver topology, guardian, overwatch, and usage-limit recoveryautomatic; autopilot statusautopilot_status, brain_consult✓✓project treeAutopilot concepts
Daemon-owned gate/CI fix loop and worker landing to the per-plan integration branchautomatic; autopilot land is an escape hatchland✓✓—Autopilot guide
One final integration → default-branch PR; daemon gates and polls, owner mergesautomatic; autopilot statusautopilot_complete (manager-only)✓✓—Autopilot concepts

These operate on the host, the daemon process, the local shell, or the bearer secret — they are intentionally not exposed over MCP or web, because doing so would either be meaningless (process/host control) or a security smell (handing out / rotating the very token that guards the MCP and HTTP channels).

FeatureCLIWhy CLI-onlyDocs
Run / manage the daemondaemonprocess control on the hostinstall
Bearer token generate / show / rotate (+ read-only token)tokenthe secret that protects every other surface; show --readonly for the view-only WARDEN_READONLY_TOKENremote-access
Local-LLM model picker (memory-ranked)llm suggestreads host hardware to size the orchestrator modelrepl
Configuration view / init / pathconfiglocal file authoringenv-vars
Data schema ledger + boot guard (<data>/schema.json: integer schema_version separate from semver; daemon refuses a data dir it must not open — newer, needing migration, or mid-migration — before touching a store; pre-ledger installs are stamped once at the schema-1 baseline; fresh installs start on schema 2 (single warden-db); schema-1 data is cut over once by the journaled, verified migrate --apply that update runs, with full rollback; schema_version on /healthz, checked by update)automatic (daemon; version prints the binary’s schema); migrate --plan/--apply/--resume/--restore, updatea property of the on-disk data dir and the daemon processtroubleshooting
Update and data-safety operator runbook (read-only update and migration planning; rollback, offline repair, scoped factory reset, and backup-gated legacy-store cleanup)update --plan, rollback, migrate, repair, factory-resethost data lifecycle and recoveryupdates-and-data-safety
Planned upgrade & waypoint path planner (warden update --plan / wd update --plan: evaluates release manifest, computes minimal waypoint hops, reports breaking API changes, preflights whole-data stores, and estimates downtime/disk without mutating state)update --plan (alias wd update --plan)host binary and data upgrade planninginstall
Migration registry runner (warden migrate / wd migrate: --check, --apply, --resume, --restore; idempotent, journaled in schema ledger, verified before advancing ledger; daemon never runs destructive migrations at boot)migrate (alias wd migrate)offline data format upgrade executioninstall
Update transaction snapshot & rollback (warden rollback / wd rollback: data snapshot taken in <data>/backups/pre-<ver>-<ts>/ before update with hardlink/copy and checksums, journaled in schema ledger; rollback performs plain binary swap when no schema change, or restores snapshot with loss-of-changes confirmation; 2 updates / 14 days retention)rollback (alias wd rollback)transactional upgrade safetyinstall
Whole-store repair (warden repair all --resolve-history=live-wins: offline check and repair for all ScrivaDB stores, quarantine backup, resolving duplicate live keys and revision-regression conflicts)repair alloffline whole-data repair; daemon must be stoppedinstall
Data directory init & install parity (warden init: stamps schema ledger, ensures all store directories, runs baseline migrations; shared code path with scripts/install.sh)initidempotent host data setupinstall
Health / environment doctordoctor (--reconcile-membership offline membership repair)host diagnosticstroubleshooting
Install missing dependenciessetupinstalls missing host dependencies such as tmux, git, gh (via the OS package manager + official installers)install
First-run tutorialtutorialinteractive walkthroughquickstart
Shell completioncompletionshell integrationinstall
Hook entry points (guards)hook / *-guardinvoked by Claude Code hookslifecycle-and-rails
Scoped factory-reset (--scope runtime|data|full; --backup, --keep-config, --keep-backends, --prune-worktrees; requires --yes)factory-resetdestructive host wipe; daemon must be stopped for the data phasecli
Versionversion——

Every fleet/data feature is reachable over MCP (including the umbrella stop_agent). The only CLI-exclusive features are the host/process/interactive/secret commands in §17 (plus interactive attach/repl, the local-config preset / prompt-template authoring commands, and the agent-native, worktree-local review / models verbs — they exec in the agent’s worktree with no daemon round-trip, so they have no MCP twin by design), which are CLI-only by design. New parity tools added for full coverage: digest, get_metrics, savings, spend, search, history, audit_log, list_worktrees, list_plugins, get_pressure, set_auto_approve, set_auto_approve_policy, set_permission_mode, prune_worktrees, export_sessions, import_sessions, rotate_agent, handoff_agent, pause_pipeline, resume_pipeline, retry_pipeline_job, edit_pipeline_job, emit_pipeline_output, delete_pipeline, validate_pipeline, list_pipeline_templates, library_list, create_schedule, get_schedule, update_schedule, run_schedule, enable_schedule, disable_schedule, delete_schedule, fork_agent, set_role, list_roles, list_backends, rescan_backends, set_backend_tier, set_default_backend. (set_thinking_mode is a retired no-op.) (Enable/disable a backend is CLI/web/TUI + REST PATCH /backends/{id} only — intentionally not an MCP tool.)