Skip to main content
Watchfire
Commands
Main content

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

FlagDescription
--sandbox <backend>Override the sandbox backend. Valid values: auto, seatbelt, landlock, bubblewrap, none.
--no-sandboxShorthand 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:

  1. task.agent (when executing a specific task)
  2. project.default_agent
  3. Global default agent
  4. 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.definition first — 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: done with success: false) before relaunching Wildfire.
  • No tasks to refine, definition is empty — Wildfire transitions to chat mode immediately. Fix: run watchfire generate and watchfire define first so the loop has something to anchor on.

On this page