| name | pan-start |
| description | pan start <id> — spawn a work agent for an issue in its own tmux session and workspace |
| triggers | ["pan start","start working on","work on issue","spawn agent","create workspace"] |
| allowed-tools | ["Bash","Read"] |
pan start
Run the command now:
pan start <issue-id>
Usage
pan start PAN-123 # Spawn agent for issue PAN-123
pan start MIN-456 # Works with any tracker prefix
pan start PAN-123 --force # Clear a paused agent gate and start anyway
pan start PAN-123 --host # Break-glass: bypass workspace Docker stack-health gate
pan start PAN-123 --fresh # Drop the saved session and start a new one (e.g. switch model)
pan start PAN-123 --harness codex # Explicitly use the Codex harness
pan start PAN-123 --model gpt-5.6-sol --swarm off --review-mode full
pan start PAN-123 --review-model gpt-5.6-sol # Pin the convoy review model
pan start PAN-123 --plan-model k3 --model k3 # Auto-plan AND work on Kimi k3
pan start PAN-123 --remote --tier durable # Remote Fly.io workspace with persistent volume
pan start PAN-123 --remote --tier ephemeral # Remote Fly.io workspace that winds down on stale heartbeat
What It Does
pan start <id> is the single paved-road entry point: it takes an issue from whatever
state it is in to running work.
- No plan exists —
pan start auto-plans (non-interactive), materializes xBRIEF tasks, and
starts the work agent when planning finalizes.
- Plan exists —
pan start creates the workspace if needed and spawns the work agent
from the existing xBRIEF and xBRIEF tasks.
- Already running —
pan start exits 0 with a no-op message naming pan tell <id> for
messaging and the tmux attach command.
Planning depth is controlled by --plan:
pan start PAN-1071 --plan interactive
pan start PAN-1071 --plan auto
pan start PAN-1071 --plan skip
The default planning mode comes from planning.default_mode in ~/.overdeck/config.yaml;
the shipped default is auto. The legacy --auto flag is deprecated and is now an alias
for --plan skip.
Start-time policy flags are persisted on the issue before planning or work begins. --model
sets the durable work-model override used by later respawns, --swarm accepts off, auto,
or always, --review-mode accepts quick, full, or none, and --review-model pins the
model used by the review convoy. Omitted flags leave existing and inherited policy untouched.
When this start also kicks off planning (no plan exists yet), --plan-model <model> overrides
the planning agent's model for that session only — it is a one-shot override, not persisted
policy, and it never changes the work agent's model (--model).
If an agent is paused, pan start <id> refuses to spawn until you run pan unpause <id>.
Use --force only when you intentionally want to clear that pause gate and start anyway.
For projects with workspace Docker configured, pan start checks stack health before
spawning. Use --host only as an explicit break-glass override; interactive shells always
prompt, while non-interactive callers must pass --yes to confirm.
If a stopped agent has a saved Claude session, pan start refuses and points you to
pan resume <id> (continue that session). Use --fresh to deliberately discard the
saved session and start a brand-new one — for example, to relaunch a stopped agent on a
different model, where the existing session can't resume under different provider routing.
--fresh is non-destructive: it clears only the resume pointer, never the JSONL transcript,
and refuses while the agent is still running (stop it first with pan kill <id>).
Slow or hanging workspace prep
Workspace preparation bounds its slow external phases with these default budgets:
| Phase | Budget | Timeout behavior |
|---|
state-reconcile | 60s | Fail fast |
sync-main | 240s | Warn and continue to spawn |
tracker-context | 60s | Warn, use empty tracker context, and continue to spawn |
spawn | 600s | Fail fast |
Ora spinner text updates render only on a TTY, so non-interactive callers receive plain
progress lines and a heartbeat every 15 seconds while a phase is still running:
[prep] still running: sync-main (45s elapsed)
A fail-fast timeout exits with the step name and budget. A degraded timeout warns and keeps
preparation moving toward agent spawn. Supervisors that invoke pan start non-interactively
should allow an outer budget of at least 300 seconds under load; RUN-35 completed after earlier
120-second and 200-second supervisors timed out while workspace preparation was still making progress.
When to Use
- Starting work on a new issue
- Launching an agent after planning is complete
See Also
pan plan <id> — create an execution plan before starting
pan show <id> — inspect agent state while it works
pan tell <id> — send a message to the running agent
pan done <id> — signal the agent has completed its work