λx.xDocs← app

Spawn modes

Every grunt spawns in one of two modes, user-selectable: Supervised (default) or Fast (opt-in). The choice determines how tool calls are approved, which billing pool handles compute, and how much operator intervention the workflow requires.

Superviseddefault
Trust profilenarrow (role allow-list)
Tool approvaldashboard banner
Billing poolClaude Max / Code
Throughputintentional pause
Audit trailfull — identical
Deny listenforced (sudo *, pkill *…)
Fastopt-in
Trust profilewide-open (*)
Tool approvalnone — autonomous
Billing poolAgent SDK ($200/mo)
Throughputmaximum
Audit trailfull — identical
Deny listenforced (identical)

Supervised mode (default)

In supervised mode, the grunt's PreToolUse hook resolves to the role's narrow trust profile — common tools (read, edit, write, scoped bash) auto-approve; anything outside the allow-list escalates to a permission_request entry, which surfaces as a banner in your dashboard and blocks until you approve or deny via approve_grunt_action. The dashboard becomes the terminal for sensitive operations.

Billing: supervised mode draws on your Claude Max or Claude Code subscription. No Anthropic Agent SDK credit is consumed.

Fast mode (opt-in)

In fast mode, the same hook fires on every tool call but resolves to the {role}-fast-trust profile, whose allow-list is wide-open (*). No permission_requestescalation, no approval wait. The grunt executes autonomously until it reaches an IMPL or a genuine question that requires human judgment. The full audit trail is preserved — every hook invocation, tool call, checkpoint, and implementation entry lands in the substrate exactly as in supervised mode.

Billing: fast mode bills against your Anthropic Agent SDK credit ($200/mo), with overflow at standard API rates.

Both modes spawn with --permission-mode acceptEdits; the difference is which trust profile the hook applies. A deny list in the trust profile still hard-blocks dangerous patterns (sudo *, pkill *, etc.) in both modes — fast mode is not bypassPermissions.

Where the toggle lives

Your account default lives at /settings/account under Spawn mode. Individual directives can override the default via metadata.human_loop_mode: "supervised" | "fast" — the narrowest scope always wins. Role-level defaults (for example, always-supervised for Privates; always-fast for a high-throughput LT's command) are planned for the Pro tier.

Why default-supervised?

Three reasons. Safety alignment: supervised mode is the human-in-the-loop pattern Anthropic has been publicly arguing for — an operator sits at every tool-call boundary, not just at directive setup and IMPL review. Credit preservation: fast mode consumes your $200/mo Agent SDK credit; supervised mode does not. New accounts should not burn their budget before they know which workloads need the throughput. Opt-in to speed: if you find yourself approving every action without reading, switch to fast mode for that directive class — the architecture supports it, and the audit trail survives either way.

Both modes are first-class

Neither mode is a workaround. Supervised uses Anthropic's own permission-mode primitive as designed. Fast uses the -p headless path, also as designed. You choose the billing and oversight model that fits your workload.

Billing at a glance

Supervised mode draws on your Claude Max or Claude Code subscription. Fast mode bills against your Anthropic Agent SDK credit. The dashboard cost panel tracks spend per session so you can see which grunts are consuming fast-mode quota.

The Cost panel breaks down per-session and per-mode spend — useful when deciding which directive classes are worth enabling fast mode for.


For billing details and tier comparison, see the pricing page. For the underlying spawner architecture, see Architecture → Spawner. For the spawning concepts overview, see Concepts → Spawning.