watchfire daemon
watchfire daemon manages the watchfired background process — start, stop, restart, and inspect the daemon that orchestrates every agent session.
Manage the Watchfire daemon (watchfired).
Usage
watchfire daemon <subcommand>
Subcommands
daemon start
Start the daemon process.
watchfire daemon start
Starts watchfired if it's not already running. This is usually not needed — the daemon is started automatically when you run any project-scoped command.
daemon status
Show daemon status information.
watchfire daemon status
Displays the daemon's host, port, PID, uptime, and number of active agent sessions.
daemon stop
Stop the daemon.
watchfire daemon stop
Sends a SIGTERM to the daemon process, gracefully shutting it down. All active agent sessions will be terminated.
Notes
- The daemon starts automatically when you run commands like
watchfire run,watchfire wildfire, or launch the TUI - Multiple CLI/TUI instances can connect to the same daemon simultaneously
- If the daemon shuts down, all connected CLI/TUI instances will close
- The daemon manages all projects registered in
~/.watchfire/projects.yaml - The daemon orchestrates every supported agent backend (Claude Code, Codex, opencode, Gemini, Copilot) — it is not tied to a specific agent. See Supported Agents.
Examples
Start the daemon manually for debugging
watchfired --foreground
Running watchfired directly in the foreground prints startup output to your terminal — useful when watchfire daemon start exits silently and you need to see why. See Daemon won't start.
Quick health check
watchfire daemon status
Sample output:
host: 127.0.0.1
port: 37291
pid: 54812
uptime: 4h 12m
sessions: 2 active
The sessions line tells you how many agent sessions the daemon is currently driving across all registered projects.
Stop and restart cleanly
watchfire daemon stop
watchfire daemon start
Use this pair after a Watchfire upgrade or when the connection-info file has gone stale and the CLI hangs on connection refused.
Common pitfalls
- Daemon already running —
watchfire daemon startexits becausewatchfiredis already up. Fix: runwatchfire daemon statusfirst; only stop/start if you actually want a fresh process. - Stop terminates every active session —
watchfire daemon stopkills every connected agent across every project, not just the current one. Fix: let in-flight tasks finish first, or stop only the specific session via the TUI/GUI. - Stale
~/.watchfire/daemon.yaml— CLI reportsconnection refusedeven though the daemon "should" be up. Fix: see CLI/TUI can't connect to daemon.
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.
watchfire definition
watchfire definition opens the project definition in your editor — the spec that frames every agent prompt and shapes generated tasks.