Watchfire
Components

GUI (Watchfire.app)

The Watchfire GUI is an Electron app providing a multi-project interface for managing tasks, monitoring agents, and reviewing work.

GUI (Watchfire.app)

The GUI is a multi-project client built with Electron. Unlike the CLI/TUI (which is project-scoped), the GUI shows all registered projects in one place. It connects to the daemon via gRPC-Web.

Layout

┌─────────────────────────────────────────────────────────────────┐
│  Sidebar          │  Main Content                │  Right Panel │
│                   │                              │  (collapsible)│
│  - Logo/version   │  Dashboard OR Project View   │              │
│  - Dashboard      │                              │  - Chat      │
│  - Projects list  │                              │  - Branches  │
│  - Add Project    │                              │  - Logs      │
│  - Settings       │                              │              │
│                   ├──────────────────────────────┤              │
│                   │  Terminal (footer, Cmd+`)     │              │
└─────────────────────────────────────────────────────────────────┘

Dashboard

The dashboard shows an overview of all registered projects:

  • Project cards with name, status dot, and task counts (Draft/Ready/Done)
  • Active task indicator on each card
  • "Add Project" button
  • Click a card to open the Project View

Add Project Wizard

A three-step wizard for adding new projects:

Step 1 — Project Info

  • Project name
  • Path (folder picker)
  • Git status (auto-detected)
  • Branch (auto-detected)

Step 2 — Git Configuration

  • Target branch
  • Auto-merge on completion
  • Delete branch after merge
  • Auto-start tasks

Step 3 — Project Definition

  • Markdown editor for project context
  • Skip option for later

Project View

A split layout with tabs for managing individual projects:

Left/Center Tabs

TabContent
TasksGrouped by status (Draft, Ready, Done) with search and filters. The task editor preserves form contents during background polling — edits are not lost when the task list refreshes.
DefinitionMarkdown editor for project definition
TrashSoft-deleted tasks with restore and permanent delete
SettingsGit config, automation toggles, project color. Changes like project color apply immediately across all views (sidebar, dashboard) without needing a refresh.

Right Panel (Collapsible)

TabContent
ChatLive agent terminal streamed from daemon. The terminal is cleared before each new subscription, so switching projects or wildfire phase transitions won't accumulate stale output. Tasks created by agents during chat sessions appear in real-time in the Tasks tab without needing a manual refresh.
BranchesList of worktrees/branches with status and actions
LogsPast session logs per task. Displays formatted conversation transcripts (User/Assistant messages with tool call summaries) when available, falling back to raw PTY scrollback otherwise.

Integrated Terminal

The GUI includes a built-in shell terminal, separate from the agent Chat terminal in the right panel. It appears as a footer bar at the bottom of the Project View.

Opening the Terminal

  • Click the footer bar at the bottom of the project view, or
  • Press Cmd+` (backtick) to toggle

The footer bar expands upward into a resizable bottom panel. Drag the top edge to adjust height.

Features

FeatureDetails
Tabbed sessionsUp to 5 shell tabs per project
Powered by node-ptyRuns in the Electron main process, not the daemon
Nerd Font supportRich terminal rendering with icons and glyphs
Session cleanupSessions are cleaned up on project switch or app quit

This is a general-purpose shell — use it for running builds, git commands, or anything else without leaving the GUI. The agent Chat terminal in the right panel streams the coding agent's output from the daemon and is a separate interface.

Task Status Display

Internal StatusDisplay LabelVisual
draftTodoDefault style
readyIn DevelopmentHighlighted
ready + agent activeIn DevelopmentAnimated indicator
done (success: true)DoneGreen indicator
done (success: false)FailedRed indicator

Global Settings

SectionContent
DefaultsAutomation toggles for new projects
AppearanceTheme (System/Light/Dark)
Claude CLIPath detection, custom path, install instructions
UpdatesCheck frequency, auto-download toggle

Installation

The GUI is installed as part of the full install:

make install-all

This places Watchfire.app in your Applications folder. The GUI connects to the same daemon as the CLI/TUI — they share state and can run simultaneously.

Connection

The GUI uses gRPC-Web to communicate with the daemon. Connection details are discovered from ~/.watchfire/daemon.yaml. If the daemon isn't running, the GUI can start it automatically.

On this page