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 (72 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).

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_agentnspawn-and-watch
Prompt-spawn (no repo, auto-typed)start "<prompt>"spawn_agentnspawn-and-watch
List agentslslist_agentslistfleet-operations
Agent status / detailstatusget_agentifleet-operations
Tail recent outputtailget_agent_outputviewspawn-and-watch
Send text into an agentsendsend_to_agentspawn-and-watch
Digest (catch-up summary)digestdigestirotation-digests
Attach to the live sessionattachCLI-only (interactive tmux)✓ (terminal)enterspawn-and-watch
Adopt an existing Claude sessionadoptadopt_agentagents-lifecycle
Tear down (umbrella)stopstop_agentxfleet-operations
Finish cleanly (commit/push guard)done (= stop --keep-worktree)terminate_agent (force)xlifecycle-and-rails
Terminateterminate (= stop --keep-record --keep-worktree)terminate_agentxlifecycle-and-rails
Restore an orphaned agentrestorerestore_agentagents-lifecycle
Recover an archived-but-alive agent (tombstone-reaper safety net)recoverrecover_agentsagents-lifecycle
Delete / hard-purgedelete (= stop --keep-worktree, record only)delete_agentDfleet-operations
Rename an agentadopt --name / spawn namespawn_agent (name)fleet-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_roleagent-roles
List the built-in role catalogrole listlist_roles✓ (Role select)listagent-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 --backendspawn_agent (backend)agent-backends — only claude is stable; codex and antigravity are β beta; aider, opencode, crush, goose, and cursor are 🧪 experimental
Handoff — delegate (new / --to existing) or retire self (--retire)handoffhandoff_agentrotation-digests
Self-rotation (retire → successor) — alias for handoff --retirerotaterotate_agentrotation-digests
Fork an agent’s session into a new managed agent (Codex-only; branches the conversation, source keeps running; dirty-tree carry)forkfork_agentbackend-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 agentautomaticautomaticworktrees-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_worktreesworktrees-task-types
Prune orphaned worktreesworktree prune (alias prune)prune_worktreesfleet-operations
Remove one agent’s worktreeremove-worktree (= stop --keep-record, worktree only)remove_worktreefleet-operations
FeatureCLIMCPSkillWebTUIDocs
Commit (auto-message from diff)commitcommitlifecycle-and-rails
Push (protected-branch rails, --force-with-lease)pushpushlifecycle-and-rails
Sync / rebase onto basesyncsynclifecycle-and-rails
Run project checks (compact failures)checkchecklifecycle-and-rails
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-onlybackend-superpowers
git-guard hook (deny raw git mutations)git-guard (hook)enforcedlifecycle-and-rails
check-guard hook (redirect broad runs)check-guard (hook)enforcedlifecycle-and-rails
root-guard / boundary enforcementguard (hook)enforcedlifecycle-and-rails
Branch + CI status (per agent)branchesget_branch_statusobservability
FeatureCLIMCPSkillWebTUIDocs
Create from YAML spec / templatepipeline createcreate_pipelinepipelines
List pipelinespipeline listlist_pipelinesviewpipelines
Show one pipeline’s jobs/outputpipeline showshow_pipelineipipelines
Startpipeline startstart_pipelinepipelines
Cancelpipeline cancelcancel_pipelinepipelines
Pausepipeline pausepause_pipelinepipelines
Resumepipeline resumeresume_pipelinepipelines
Retry a failed jobpipeline retryretry_pipeline_jobpipelines
Edit a pending jobpipeline edit-jobedit_pipeline_jobpipelines
Emit a job’s handoff outputpipeline emitemit_pipeline_outputpipelines
Delete a pipeline recordpipeline deletedelete_pipelinepipelines
Validate a spec (no daemon)pipeline validatevalidate_pipelinepipelines
List built-in templatespipeline list-templateslist_pipeline_templatespipelines

5. Coordination (shared context, messages, conflicts)

Section titled “5. Coordination (shared context, messages, conflicts)”
FeatureCLIMCPSkillWebTUIDocs
Shared-context setctx setctx_setshared-context-messages
Compare-and-set (claim a task)ctx casctx_casshared-context-messages
Appendctx appendctx_appendshared-context-messages
Get / list / deletectx get/list/delctx_get / ctx_listshared-context-messages
Directed message to an inboxmsg sendsend_messageshared-context-messages
Read inboxmsg inboxread_inboxshared-context-messages
Wait for a message (park/wake)msg waitwait_for_messageshared-context-messages
File-conflict detectioncollab conflictsget_collaboration_statusshared-context-messages
Who is editing a filecollab who-is-editingwho_is_editing_fileshared-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 (local model, $0, no cloud round-trip)project-memory
FeatureCLIMCPSkillWebTUIDocs
List pending approvalsapprovalslist_approvalscockpitapprovals-supervised
Answer an approvalapproveapproveaapprovals-supervised
Auto-approve toggleauto-approve <id> on|offset_auto_approveapprovals-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_policyapprovals-supervised
Set permission mode (running agent)set-permission-modeset_permission_modeapprovals-supervised
Supervised spawn (gate every prompt)start --supervisedspawn_agent (supervised)approvals-supervised
FeatureCLIMCPSkillWebTUIDocs
Create schedule (cron / at; agent or pipeline)schedule createcreate_schedulescheduling
List schedulesschedule listlist_schedulesscheduling
Delete scheduleschedule deletedelete_schedulescheduling
FeatureCLIMCPSkillWebTUIDocs
Snapshot worktree + transcriptsnapshot createsnapshot_createsnapshots
List snapshotssnapshot listsnapshot_listsnapshots
Restore a snapshot (rails)snapshot restoresnapshot_restoresnapshots
FeatureCLIMCPSkillWebTUIDocs
Live resource metricsstatsget_metricsobservability
Metrics history (time-series)stats --historyget_metrics (history)observability
Memory-pressure gate / headroomdoctor / spawn gateget_pressureobservability
Fleet insights (parallelizable pairs, etc.)insightsinsightsinsights
Cost umbrella (spend + savings in one)cost (cost spend / cost savings)spend + savingssavings
Token-savings ledgersavings (alias cost savings)savingssavings
Cost governance ($ spend rollup)spend (alias cost spend)spend$ in lssavings
Budget gate (soft $ cap on spawn)config (tokens.budget_gate) / spawn gateautomaticobservability
Full-text searchsearchsearchcli
Browse archived agentshistoryhistory✓ (archive)cli
Action audit trailaudit logaudit_logobservability
Event stream (SSE)observability
Desktop / webhook / Slack notificationsconfig (notify.enabled, notify.webhook_*)automaticobservability
Context/token guard (gauge, alert, auto-/compact)config (tokens.guard)automaticgaugeobservability
Force-compact a busy critical agent (interrupt→/compact→resume)force-compact (config tokens.force_compact)set_force_compactobservability
Crash / anomaly detection (OOM, loop, pre-crash)configautomaticobservability
FeatureCLIMCPSkillWebTUIDocs
Export session metadataexportexport_sessionscli
Import session metadataimportimport_sessionscli
Save a spawn presetpreset save / library save-presetCLI-only (local config authoring)cli
List presetspreset listCLI-onlycli
Save a prompt templateprompt-template save / library save-promptCLI-only (local config authoring)cli
List prompt templatesprompt-template listCLI-onlycli
Fill a prompt template into a spawnstart --prompt-template <name> --set VAR=valueCLI-onlycli
Browse presets + prompt templates + pipeline templates (one umbrella)library listlibrary_listcli
FeatureCLIMCPSkillWebTUIDocs
List registered pluginsplugin listlist_pluginsplugins
Custom task types via pluginsconfigenforced at spawnplugins
Lifecycle hook events (pre/post spawn, commit, check, teardown)configenforcedplugins

The browser GUI (served by the daemon) is a URL-routed shell (/cockpit home · /tui · /pipelines · /metrics · /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), 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
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 · 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 · tab switch view · ? help · q quit. Includes a pipeline view and per-job info.

FeatureWhereDocs
Agent list + live status (incl. per-agent backend token; empty ⇒ claude)main 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
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/CLImcp-and-skill
Interactive REPLrepl (aliases interactive, i)CLI-only (interactive REPL)repl
↳ deterministic / commands (no model)/agents, /spawn, /tell, … /helprepl
↳ line editor: history, reverse-search, live / menu, Tab completion, colourreadline-backedrepl
↳ guided argument forms (pick-lists + free text, LLM pre-fill)bare /spawn, /spawn+ <prompt>repl

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
Health / environment doctordoctorhost diagnosticstroubleshooting
Install missing dependenciessetupinstalls host packages (brew/apt/dnf/pacman + official installers)install
First-run tutorialtutorialinteractive walkthroughquickstart
Shell completioncompletionshell integrationinstall
Hook entry points (guards)hook / *-guardinvoked by Claude Code hookslifecycle-and-rails
Versionversion

Every fleet/data feature is reachable over MCP (72 tools, including the umbrella stop_agent). The only CLI-exclusive features are the host/process/interactive/secret commands in §15 (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, delete_schedule, fork_agent, set_role, list_roles.