Watchfire vs Raw agent CLI.
Open a terminal and run `claude`, `codex`, `opencode`, `gemini`, or `gh copilot` directly in your repo. The baseline.
The verdict
The raw CLI is the right tool for a single prompt in a repo you already have open. Pick Watchfire when you want isolation, sandboxing, parallelism, or a written task contract on top of that same CLI.
At a glance.
The axes that actually differ between the two tools. The prose below this table is where the nuance lives — don’t pick a tool from a row alone.
| Axis | Raw agent CLI | Watchfire |
|---|---|---|
| Agent backend | Pinned to whichever CLI you launched. | Same CLIs — Claude Code, Codex, opencode, Gemini, Copilot — but pluggable per task or per project. |
| Isolation | Edits your working tree directly. | Per-task git worktree on a watchfire/<n> branch. |
| Sandbox | Inherits your shell's PATH, ~/.ssh, cloud credentials, and .git/hooks. | Seatbelt on macOS, Landlock or Bubblewrap on Linux; sensitive paths blocked by default. |
| Parallelism | One terminal at a time. | One agent per project, many projects concurrently from a single daemon. |
| Git workflow | Edits the working tree; you commit by hand. | Branch + worktree per task; review-then-merge (auto-merge opt-in). |
| Autonomy | Interactive — whatever the CLI offers. | Interactive or autonomous via Wildfire mode. |
| Local vs cloud | Local. | Local — nothing leaves your machine unless you ship it. |
| Multi-project | Per terminal. | First-class. |
| Open source | Varies (Codex CLI yes; others mixed). | Apache-2.0. |
| Pricing | Free; you pay model API costs. | Free; you pay model API costs of the CLI you pick. |
Agent backend
Raw agent CLI
Pinned to whichever CLI you launched.
Watchfire
Same CLIs — Claude Code, Codex, opencode, Gemini, Copilot — but pluggable per task or per project.
Isolation
Raw agent CLI
Edits your working tree directly.
Watchfire
Per-task git worktree on a
watchfire/<n>branch.Sandbox
Raw agent CLI
Inherits your shell's
PATH,~/.ssh, cloud credentials, and.git/hooks.Watchfire
Seatbelt on macOS, Landlock or Bubblewrap on Linux; sensitive paths blocked by default.
Parallelism
Raw agent CLI
One terminal at a time.
Watchfire
One agent per project, many projects concurrently from a single daemon.
Git workflow
Raw agent CLI
Edits the working tree; you commit by hand.
Watchfire
Branch + worktree per task; review-then-merge (auto-merge opt-in).
Autonomy
Raw agent CLI
Interactive — whatever the CLI offers.
Watchfire
Interactive or autonomous via Wildfire mode.
Local vs cloud
Raw agent CLI
Local.
Watchfire
Local — nothing leaves your machine unless you ship it.
Multi-project
Raw agent CLI
Per terminal.
Watchfire
First-class.
Open source
Raw agent CLI
Varies (Codex CLI yes; others mixed).
Watchfire
Apache-2.0.
Pricing
Raw agent CLI
Free; you pay model API costs.
Watchfire
Free; you pay model API costs of the CLI you pick.
When to pick Raw agent CLI.
Pick the raw CLI when you have a single, scoped change to make in a repo you already have open. It is the lowest-friction option — no daemon, no task file, nothing wrapped or filtered between you and whatever the CLI's latest features are. For throwaway repos, exploration, or short conversational work where you want direct access to every flag and surface the CLI exposes, the raw CLI is the right tool. It is also the right tool when you genuinely want the agent to inherit your shell — for example, when you need it to use your real ~/.ssh keys to push, or your cloud credentials to deploy.
When to pick Watchfire.
Pick Watchfire when you want to keep using the same agent CLI but add safety rails the raw CLI doesn't provide. Each task lands on its own worktree branch so a failed run never touches main, and the agent runs inside a platform sandbox that blocks ~/.ssh, credential stores, and .git/hooks by default — exactly the things a prompt-injected command would reach for. You also get parallelism across projects, clean per-task transcripts, and an opt-in autonomous Wildfire loop. The agent is the same — the boundary around it is the difference.
Can they coexist?
Yes — trivially. Watchfire calls the same CLI binaries you already have installed. Keep using claude, codex, or opencode directly in any terminal; Watchfire just adds a layer that wraps them in a worktree and sandbox when you want that. The two never fight: the raw CLI works on your working tree, Watchfire works in its own worktree under .watchfire/worktrees/. A practical pattern is to use the raw CLI for the edit you're doing right now and Watchfire for the task queue you want to come back to later.
Side by side.
The same intent expressed in each tool’s idiom.
Raw CLI
# In your repo, in your shell
cd ~/code/my-app
claude "Fix the 500 on empty items[]"Watchfire
# Same agent, same model, behind safety rails
watchfire task add "Fix 500 on empty items[]"
watchfire run allRelated reading.
- Worktree isolationWhy each task runs on its own branch.
- SandboxingSeatbelt and Landlock — what's blocked, what isn't.
- Migrating from raw CLI to WatchfireA long-form walk-through of the first hour.
- See the full comparison matrixEvery adjacent tool, side by side.
- Start with a ready taskCopy-paste starter task YAMLs for the most common work.
Get started with Watchfire
Install in seconds. Define tasks. Let agents ship code for you.
Download for macOSAvailable for macOS, Linux, and Windows
# Install via Homebrew (macOS)brew tap watchfire-io/tapbrew install --cask watchfire-io/tap/watchfire# Set up your project and gowatchfire initwatchfire task add "Build the login page"watchfire start --allIncludes GUI, CLI, and daemon. Also available via Homebrew.