Skip to main content
> v0.12.0 -- now available

Track Claude Code sessions across git branches

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

A free, local-first desktop app for AI coding agents including Claude Code, Gemini CLI, Codex, and OpenCode.

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

Canopy Claude Code GUI showing projects, worktrees, terminal sessions, and the Inspector

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 window for git worktrees and Claude Code sessions

Track sessions, terminals, and browser tabs per worktree. The Inspector shows cost and tokens for every Claude Code session.

Canopy keeps each worktree's agent session, terminal tabs, browser tab, and diff review in one desktop window.

Live cost and token tracking

See exactly what each Claude Code session costs: tokens used, cache reads, and total spend in real time.

Learn more

Git worktree manager

List all worktrees in a sidebar. Create a worktree with a branch and its setup commands.

Learn more

Multiple projects

Keep several projects open and switch between them. Layout is restored on restart.

Browser tab per worktree

Each worktree gets its own Chromium tab. Saved credentials and login storage are shared across Canopy.

Learn more

Quick launcher

Start Claude Code, Codex, Gemini CLI, LazyGit, or your own scripts from a popup.

Terminal per worktree

WebGL-powered terminal with split panes, persistent sessions, and 12 color themes.

Learn more

Jira, YouTrack, and GitHub integration

Pick a task, create a branch. Task context is sent to Claude Code automatically.

Learn more

Project tree

Browse files in a read-only pane. Open them in your editor with one click.

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

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
Claude Code UI inside Canopy showing session status, cost tracking, and tool calls

Session status in the notch

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

macOS notch overlay showing session status in Canopy

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 signed and notarized through Apple Developer. Windows builds are signed via Azure Trusted Signing.

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.

Run Claude Code on multiple branches without losing track

Canopy runs one agent session per git worktree. It shows cost, tokens, and session state across branches from one desktop window. Canopy itself does not upload project files.

Working on a single branch in one terminal? You probably don't 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.12.0

Source-available license - free for any purpose

Built with

Electron Svelte xterm.js Claude SQLite