Skip to main content
Watchfire

Better context. Better code.

Define what you want. Let Claude Code, Codex, opencode, Gemini CLI, and GitHub Copilot CLI build it — safely.

Watchfire turns clear specs into scoped tasks, then hands each one to an agent in its own git worktree and sandbox. Better context in, better code out — with clean transcripts and full control at every step.

Modes

From pair programming to autonomous loops

Six modes that cover interactive chat, single tasks, and fully hands-off Wildfire runs.

Wildfire

Autonomous loop — execute ready tasks, refine drafts, generate new tasks, repeat.

Chat

Interactive session with the coding agent — ask questions, iterate, and pair-program.

Task

Execute a single task from the task list in its own worktree.

Start All

Run every ready task sequentially, one worktree per task.

Generate Definition

Auto-generate a project definition by scanning your codebase.

Generate Tasks

Break down the project definition into discrete, ready-to-run tasks.

Any agent. One orchestrator.

Watchfire is backend-agnostic. Plug in your favourite CLI coding agent — or mix and match across tasks.

Claude Code

Anthropic

Codex

OpenAI

opencode

Open source

Gemini CLI

Google

Copilot CLI

GitHub

Key features

Built for real agent workflows

Isolation, sandboxing, and orchestration — the plumbing that makes multi-agent safe.

01Orchestration

Task Orchestration

Ship work without babysitting sessions. Write tasks in YAML and the daemon handles the rest — picking up ready work, stopping sessions on completion, and chaining to the next task. Every run lands in the same clean transcript, no matter which backend produced it.

02Isolation

Git Worktree Isolation

Every task runs in its own git worktree on a dedicated `watchfire/<n>` branch — never the working tree you're in. Tasks run one at a time per project (the agent finishes one before starting the next), but each one is isolated from your branch and from any work in flight. Finished tasks auto-merge back to your default branch.

03Security

Sandboxed Execution

Your credentials and dotfiles stay off-limits, even if an agent goes off-script. Every session runs inside a platform-native sandbox — Seatbelt on macOS, Landlock or Bubblewrap on Linux — blocking ~/.ssh, credential stores, and git hooks by default. Restart protection stops runaway loops before they burn budget.

04Scale

Multi-Project Management

Drive every repo on your machine from one place. A single daemon runs multiple projects concurrently — each with its own task queue and one active agent at a time — so spreading work across repos is how you get real parallelism. The system tray keeps them all one click away.

Why Watchfire

What you get that the raw CLI doesn’t

Same agents you’d run yourself — wrapped in the safety rails you’d otherwise build by hand.

Isolation

Edits land directly on your working tree; one bad refactor and you're fighting git stash.

Isolation

Each task runs on its own git worktree and branch. Failed runs leave your main branch untouched.

Sandboxing

The agent inherits your shell's PATH, SSH keys, and cloud creds. One prompt-injected command, one bad call.

Sandboxing

Sandboxed by Seatbelt on macOS and Landlock on Linux; ~/.ssh, credential stores, and .git/hooks blocked by default.

Parallelism

One repo, one agent, one terminal. Three tasks waiting on the previous to merge.

Parallelism

One agent per project, but every project on your machine runs concurrently — open several repos and they all make progress at once.

Reviewability

Scrollback in your terminal is the only record. Hope you didn't clear it.

Reviewability

Clean transcripts captured per task; inline diff viewer on the worktree branch; insights track duration, tokens, and cost.

Orchestration

You manage what runs when, by hand.

Orchestration

Wildfire mode runs ready tasks, refines drafts, and generates new ones toward your project definition.

Ready to go

Get started with Watchfire

Install in seconds. Define tasks. Let agents ship code for you.

Download for macOS

Available for macOS, Linux, and Windows

install
# Install via Homebrew (macOS)
$brew tap watchfire-io/tap
$brew install --cask watchfire-io/tap/watchfire
# Set up your project and go
$watchfire init
$watchfire task add "Build the login page"
$watchfire start --all

Includes GUI, CLI, and daemon. Also available via Homebrew.

The app

Every project, one window

Watchfire.app puts your repos, tasks, branches, and live agent terminals in a single multi-project client — built on the same daemon as the CLI.

Watchfire.app window layoutA schematic of the Watchfire app showing the sidebar on the left, the main content area in the centre with a terminal footer, and the collapsible right panel for chat, branches, and logs.watchfireDashboardPROJECTSwatchfirewebsiteafterlightanima+ Add Project⚙ SettingsMAINwatchfireChatmain · github.com/watchfire-io/watchfireTasksDefinitionSecretsTrashSettingsdonein devtodoTerminal⌘`RIGHT PANELChatBranchesLogsClaude CodeOpus 4.7 · 1M contextBRANCHESwatchfire/0061mergedwatchfire/0062in devSIDEBARProjects · SettingsAlways visible
Layout

Three regions, one window

The app is built around a fixed sidebar, an active main view, and a collapsible right panel — so live agent output never crowds out the work you're reviewing.

  • Sidebar

    Every project, the dashboard, and Settings — always one click away.

  • Main content

    Tasks, Definition, Secrets, Trash, and Settings — plus a built-in terminal docked at the footer.

  • Right panel

    Live Chat, Branches, and Logs. Collapse it when you want focus, pop it back when you need eyes on the agent.

Architecture

Three components, one system

A daemon orchestrates in the background while the CLI and GUI give you full control.

CLI / TUI

watchfire

Project-scoped commands plus a rich interactive TUI with split-pane task navigation and live output.

GUI (Watchfire.app)

Watchfire.app

Electron multi-project client with a native feel, sidebar navigation, and embedded live terminals.

Daemon (watchfired)

watchfired

Background service handling orchestration, PTY management, git workflows, and the gRPC API.

FAQ

Questions, answered

The honest version — what Watchfire does, what it doesn’t, and how it stays out of your way.

How is this different from running Claude Code, Codex, or another agent directly?
Watchfire wraps any of those CLIs in a per-task git worktree and a platform sandbox, fed by structured task files and reviewed through clean transcripts. Each project runs one agent at a time, but every project on your machine runs concurrently — so you can spread work across repos and let it drain in parallel, then inspect every change before it lands on your default branch. The agent stays the same; the workflow around it gets safer and repeatable.
How does Watchfire compare to Aider, Cursor, or Devin?
Short version: those are agents (or in Cursor’s case, an editor with an agent mode); Watchfire is an orchestrator that runs the coding-agent CLIs you already trust inside sandboxed per-task git worktrees, with one agent per project and many projects running concurrently. See the full comparison for tool-by-tool positioning.
Which agent backends are supported?
Claude Code, OpenAI Codex, opencode, Gemini CLI, and GitHub Copilot CLI today. Backends are pluggable, so you can mix and match across tasks or switch any time. See the supported-agents reference for install paths and per-backend notes.
Is my code and are my credentials safe?
Every macOS and Linux session runs inside a platform-native sandbox — Seatbelt (sandbox-exec) on macOS, Landlock (kernel 5.13+) with a Bubblewrap fallback on Linux — with ~/.ssh, credential stores, and .git/hooks blocked by default. Restart protection caps runaway loops before they burn budget. Full sandboxing details.
What platforms does Watchfire run on?
macOS, Linux, and Windows. Sandboxing is enforced on macOS (Seatbelt) and Linux (Landlock or Bubblewrap); Windows currently runs agents unsandboxed, so prefer macOS or a recent Linux kernel for security- sensitive work.
Is it free? Open source?
Yes — Watchfire is open source under the Apache License 2.0. The full source for the daemon, CLI/TUI, and GUI lives at github.com/watchfire-io/watchfire.
Do I need to use the GUI, or can I run everything from the terminal?
The CLI (watchfire) and the interactive TUI cover everything the GUI does — they all talk to the same daemon over gRPC. The Electron GUI is just another client; pick whichever fits your workflow, or use both side by side.
Can Watchfire post to Slack or Discord, or open GitHub PRs automatically?
Yes. Watchfire ships outbound adapters for webhooks, Slack, Discord, and GitHub auto-PR, plus an inbound HTTP server with HMAC + Ed25519 signature verification, OAuth bot tokens for Slack and Discord, per-IP rate limiting, GitHub Enterprise / GitLab / Bitbucket parity, Slack interactive buttons, and Discord guild auto-registration — so those services can drive the daemon back. See the integrations docs.
How do I see what an agent actually did?
Every task has an inline file-by-file diff viewer that works pre-merge (against the merge base of watchfire/<n>) and post-merge (reconstructed from the merge commit), and a per-task Insights record captures duration, tokens, and cost. GUI walkthrough · Insights & metrics.
Ready to go

Get started with Watchfire

Install in seconds. Define tasks. Let agents ship code for you.

Download for macOS

Available for macOS, Linux, and Windows

install
# Install via Homebrew (macOS)
$brew tap watchfire-io/tap
$brew install --cask watchfire-io/tap/watchfire
# Set up your project and go
$watchfire init
$watchfire task add "Build the login page"
$watchfire start --all

Includes GUI, CLI, and daemon. Also available via Homebrew.