watchfire wildfire
watchfire wildfire runs the autonomous loop — execute ready tasks, refine drafts, and generate new tasks until the project queue is exhausted.
Start the autonomous wildfire mode.
Alias: watchfire fire
Usage
watchfire wildfire
Description
Wildfire is Watchfire's fully autonomous mode. It runs a continuous three-phase loop that executes ready tasks, refines draft tasks, and generates new tasks — all without human intervention.
How It Works
The daemon cycles through three phases based on the current state of your task list:
Phase 1: Execute
If there are tasks with status: ready, the agent executes them one by one (same as watchfire run all).
Phase 2: Refine
If there are tasks with status: draft, the agent reviews and refines them — improving prompts, breaking down large tasks, and setting them to ready.
Phase 3: Generate
If no tasks remain, the agent analyzes the project definition and completed work to generate new tasks. If new tasks are created, the loop restarts from Phase 1. If no new tasks are created, wildfire transitions to chat mode.
Flags
| Flag | Description |
|---|---|
--sandbox <backend> | Override the sandbox backend. Valid values: auto, seatbelt, landlock, bubblewrap, none. |
--no-sandbox | Shorthand for --sandbox none — disables sandboxing entirely. |
Sandbox priority: CLI flag → project setting (project.yaml) → global default (settings.yaml).
Agent Selection
Wildfire launches a new agent session for each task it executes, refines, or generates. Each session uses Watchfire's standard resolution order:
task.agent(when executing a specific task)project.default_agent- Global default agent
claude-code
This means Wildfire can drive a mixed set of backends in one run — for example, Claude Code for tasks that pin agent: claude-code and the project default for everything else. See Supported Agents for details.
Stopping
Press Ctrl+C to stop wildfire at any time. The current agent session will be terminated gracefully.
Examples
Start Wildfire on the current project
watchfire wildfire
Wildfire alternates Execute → Refine → Generate until none of the three phases produce work. On a brownfield project the first iteration is usually Generate; on a populated ready queue it's Execute.
Stop Wildfire cleanly
^C
There is no separate stop command. Press Ctrl+C in the session that launched Wildfire — the current agent terminates gracefully and the loop exits. Any tasks already merged stay merged.
Run Wildfire without the sandbox
watchfire fire --no-sandbox
Use the fire alias for terseness. --no-sandbox applies to every session Wildfire spawns during the run, so reach for it sparingly — most tasks are happier inside the sandbox.
Common pitfalls
- Loop never exits — Wildfire keeps drafting or regenerating the same kind of work. Fix: tighten
project.definitionfirst — see Wildfire mode runs forever. - Three failures drop into chat mode — Wildfire's restart protection bails after 3 consecutive failures on the same task. Fix: fix the failing task (or set
status: donewithsuccess: false) before relaunching Wildfire. - No tasks to refine, definition is empty — Wildfire transitions to chat mode immediately. Fix: run
watchfire generateandwatchfire definefirst so the loop has something to anchor on.
watchfire chat
watchfire chat opens a free-form agent session in the project root, no task or worktree — useful for codebase exploration, quick edits, and prototyping.
watchfire generate
watchfire generate hands off to an agent to draft a project definition or break the work into a queue of ready tasks, in one shot or interactively.