Skip to main content
Watchfire
Interfaces

Three surfaces, one daemon.

watchfired is the engine. The CLI, the TUI, and Watchfire.app are interchangeable front-ends that all talk to it over gRPC. Pick the one that fits the moment — you can mix them whenever you want.

Start a task in the CLI, watch it stream in the TUI, review the diff in the GUI — same daemon, same state, no sync.

CLI

Scripted, pipeable, automation-first.

Best for

  • Adding tasks from a shell pipeline or git hook.
  • Driving runs from CI or a Makefile.
  • Headless servers and remote dev boxes.
  • Anyone who already lives behind an alias.

Not great for

  • Watching multiple projects at once.
  • Reviewing diffs visually.
  • Drag-to-reorder a long task list.

Add a task

watchfire task add

TUI

Split-pane control, no mouse required.

Best for

  • Driving Watchfire end-to-end inside a terminal.
  • Watching live agent output while editing tasks.
  • Working over SSH on a remote machine.
  • Keyboard-only workflows with vim-style bindings.

Not great for

  • Switching across many registered projects.
  • Rich diff review with file-by-file scroll.
  • Drag-and-drop ergonomics.

Launch TUI

watchfire

GUI

Multi-project desktop client.

Best for

  • Watching every registered project from one window.
  • Reviewing inline diffs in the Inspect tab.
  • Drag-to-reorder, point-and-click task editing.
  • Leaving a tray icon running in the background.

Not great for

  • Headless servers — there is no display.
  • Scripting from a shell pipeline.
  • Driving runs from CI.

Open the app

open -a Watchfire

Decision matrix

Capabilities the three surfaces actually deliver today. Partial (~) means the surface technically does the thing but with a caveat — the cell says which.

Scriptable / pipeable

CLI
Single binary, exits cleanly.
TUI
Interactive only.
GUI
Desktop app, no stdin.

Live terminal output streaming

CLI
~Inline when you run a task; no split view.
TUI
Right pane streams the agent PTY.
GUI
Primary chat pane streams from the daemon.

Multi-project switching

CLI
Project-scoped to the cwd.
TUI
~Project-scoped; Ctrl+F opens a fleet rollup.
GUI
Sidebar lists every registered project.

System tray presence

CLI
TUI
~Receives focus events from the daemon tray.
GUI
Native tray client — clicks open the GUI.

Works over SSH / headless

CLI
TUI
Runs in any 256-color terminal.
GUI
Electron app — needs a display.

Drag-and-drop reordering

CLI
TUI
GUI
GripVertical handle on active tasks.

Built-in chat mode

CLI
watchfire run.
TUI
Chat tab.
GUI
Chat pane — the wide left pane of every project window.

Wildfire mode launcher

CLI
watchfire wildfire (alias fire).
TUI
~Falls back to the CLI command.
GUI
Toolbar button above the terminal.

File-watching auto-merge surfacing

CLI
Daemon does it; no live view.
TUI
~Task status updates as the daemon fires.
GUI
Branches tab shows merge/conflict state.

yes  ·  ~ partial (see caveat)  ·  not in this surface

Which should I use?

“I script everything.”

Reach for the CLI. Every command exits with a code, prints to stdout, and slots into your existing shell pipelines, git hooks, and CI jobs. If your reflex is to write watchfire task add < spec.md rather than open an app, this is your surface.

“I live in my terminal.”

Launch the TUI. One binary, zero mouse, full keyboard navigation, and the agent PTY streaming in the right pane while you edit tasks on the left. It works the same over SSH on a remote dev box as it does on your laptop.

“I want a desktop app I can leave open.”

Install Watchfire.app. The sidebar lists every registered project, the dashboard rolls up cross-project activity, and the tray icon stays alive in the menu bar so a finishing task can ping you while you're in another window.

Mix and match

All three surfaces talk to the same daemon, so they share state in real time. There's no “CLI mode” vs. “GUI mode” — a task added in one shows up in the others without a refresh, and a running agent streams to whichever client is listening.

  1. 1

    Add a task in the CLI.

    $ watchfire task add
  2. 2

    Watch it stream in the TUI.

    Open the TUI in the same project, press s on the new task, and the right pane streams the agent PTY as the daemon spawns the worktree.

  3. 3

    Review the diff in the GUI.

    When the run finishes, click into the project from Watchfire.app, jump to the Inspect tab, and scroll the file-by-file diff before merging. The tray icon will have already nudged you that the task is done.

You don't have to commit to a surface. Pick the one that's closest to your hands right now — the daemon keeps the rest in sync.

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.