Canopy: desktop app for Claude Code, Gemini CLI, and Codex sessions

5 min read Original article ↗

> v0.10.0 -- now available

Stop losing track of agents across branches

Run Claude Code on multiple branches without hunting for which session finished, which one is stuck, and what each one changed.

A native desktop app for Claude Code, Gemini CLI, and Codex on macOS, Windows, and Linux.

Built at IT SOL, where we run 10+ parallel Claude Code sessions daily across 13 PR branches.

Download for macOS Apple Silicon View on GitHub

Who Canopy is built for

Multiple branches with agents

You run Claude Code or Gemini CLI on several branches at once and need to know which session is running, idle, or waiting for input.

Many PR environments

Your team maintains 5, 10, or 15 active PR branches. Each one needs its own agent session, terminal, and test browser.

High context-switching cost

You lose time finding the right terminal tab, reconstructing what an agent was doing, or logging into the right staging environment for the right branch.

If you work on one branch in one terminal, Canopy adds overhead you do not need.

One place for worktrees and agent sessions

Projects, branches, sessions, browser state, and Inspector in one desktop workspace.

Canopy is a desktop GUI for Claude Code, Gemini CLI, and Codex that keeps every worktree and agent session isolated and inspectable.

Inspector for agent sessions

Run Claude Code and Gemini CLI with session status, cost tracking, context usage, and tool history.

Learn more

Branches and worktrees

See branches and worktrees in one sidebar. Create a worktree with its setup actions.

Learn more

Multiple projects

Keep several projects in one window and reopen the same layout later.

Browser tied to the worktree

Each worktree keeps its own browser tab, saved login state, favorites, and device viewports.

Learn more

Launcher

Start Claude Code, Codex, Gemini, LazyGit, or your own tools in the current worktree.

Terminal per worktree

Tabs, splits, and persistent sessions inside each worktree.

Learn more

Task tracker links

Link a worktree to a Jira or YouTrack issue and keep branch work attached to the ticket.

Learn more

Project tree

Browse files and open them in a read-only pane inside the current workspace.

Parallel agent work in one window

Watch several worktrees at once and see which session is running, waiting for input, or finished.

Demo of parallel agent sessions across several worktrees in Canopy

Learn more

From branch to running session

01

Open a project

Add a project and its branches to the sidebar.

02

Create a worktree

Choose a branch. Canopy creates an isolated directory and opens its workspace.

03

Start a session

Run Claude Code or another tool in that worktree and switch between sessions from one window.

Session data in the Inspector

The Inspector shows session status, tool activity, cost, and context usage for Claude Code and Gemini CLI.

  • Cost and token tracking per session
  • Tool call history
  • Context window usage
  • Conventional commit suggestions from the active session
  • Separate history and cost tracking for each worktree session
  • Gemini CLI sessions in the same Inspector view
Learn more

Session status in the notch

On macOS, the notch shows whether a session is running, idle, or waiting for input.

Used daily at IT SOL

How IT SOL uses Canopy

We built Canopy for our own workflow. We maintain a large .NET application with 13+ active PR environments. On a typical day, the team runs 10+ parallel Claude Code sessions. Each PR branch gets its own worktree, agent session, and test browser. Before Canopy, tracking session state meant cycling through terminal tabs. Now we see it in one sidebar.

How your data stays under your control

Local-first

Code, terminal output, and workspace data stay on your machine. Canopy does not upload project files or data to any server.

Pass-through to AI providers

Canopy spawns Claude Code as a child process. Prompts go from your machine to Anthropic's API. Canopy does not intercept, modify, or log them.

Signed and notarized builds

macOS builds are notarized through Apple Developer. Windows builds are signed via Azure Trusted Signing. No Gatekeeper or SmartScreen warnings.

Minimal, optional telemetry

One daily ping: screen resolution, locale, app version, OS, CPU architecture. No user IDs, no IP logging, no file paths. Disable in Settings > Privacy.

OS keychain for secrets

API tokens and saved browser passwords use Electron safeStorage backed by macOS Keychain or Windows Credential Manager. No plaintext secret files.

No lock-in

Canopy runs alongside your terminal, tmux, VS Code, and other tools. Close it and everything works as before. No config changes, no migration.

Read the full security details

Built for developers who run agents on multiple branches

If you use Claude Code, Gemini CLI, or Codex across several branches, Canopy tracks every session, worktree, and browser state from one window. API keys and tool licenses stay with you.

Working on a single branch in a single terminal? You probably do not need this.

Open a project, create two worktrees, and run a session in each.

Free, source-available, no account required.

Download Canopy

Free to use. Source-available. macOS, Windows, Linux.

Version 0.10.0

Download for macOS Apple Silicon Download for Windows Download for Linux

Source-available license -- free for any purpose

Built with

Electron Svelte xterm.js Claude SQLite