Canopy app icon

Canopy

A bird's-eye view of every branch across every local git repo on your Mac. See what still needs your attention — at a glance.

Download for macOS Release notes
Free · Apple Silicon · ~5 MB

30 repos. 200 branches. One window.

Whether you're juggling client projects, shipping a side hustle, or vibe-coding experiments with AI, your Mac fills up fast with half-finished work scattered across dozens of repos. Canopy gathers it all into one window so you never lose track of what you were working on, what got shipped, and what you can safely throw away.

Three steps to clarity

Setup takes under a minute.

1

Pick a folder

Point Canopy at the folder where your projects live — usually Documents/GitHub, ~/code, or wherever your repos accumulate.

2

See everything

Canopy finds every project automatically and lists every branch inside, color-coded by what each one needs.

3

Click any branch

See exactly what changed, jump back into the work, or send it to GitHub as a pull request with one click.

What you'll actually use

A tour of the bits people open the app for.

Every branch, color-coded

Glance at the dots to see which branches need attention, and spot open PRs without leaving the sidebar.

acme-mono
feat/dark-mode HEAD
wip/checkout-redesign #128
fix/cart-overflow
alex/billing-portal #124
main

Sweep away the noise

One toggle hides every merged-and-done branch so only the in-flight stuff remains.

Show only
Uncommitted
Unpushed
Unmerged
Hide clean branches

Loose ends, surfaced

Every TODO, FIXME, or HACK you added on a branch — listed by file, ready to clean up before the PR.

☐ New TODOs 3 added in this branch
apps/web/components/checkout/order-summary.tsx
TODO L142 handle discount edge case
FIXME L267 stripe webhook race condition
packages/ui/src/checkout-button.tsx
HACK L41 remove once Safari ships :has()

Branch context, one column away

Pull request actions, recent commits, and the worktree path all live in a dedicated right column — no menu hunting.

⎘ Create PR
↗ Open in GitHub Desktop
◇ Commits 4
Checkout: card layout for order summary
OrderDetailsSheet: refresh totals immediately
Cart: friendly empty state illustration

Reading the colors

Every branch shows a few colored dots so you can scan dozens at once. Here's what each color means in plain English.

Amber · Unsaved changes

You changed files here but haven't packaged them up into a commit yet. Easy to lose if you switch branches.

Violet · Set aside

You parked some work without committing it (git calls this a "stash") — usually a half-baked idea you wanted to come back to.

Sky · Not on GitHub yet

You committed locally but haven't pushed to GitHub. The work lives only on this Mac — back it up before you reformat.

Rose · Not in your main branch

This branch has work that isn't in your project's main branch yet. Could be ready to merge, could be an experiment you abandoned.

Made for anyone with too much code

If you've been writing software for a while — whether that's at a day job, freelance, or pair-programming with AI — you probably have:

  • A handful of repos you barely remember spinning up
  • A dozen branches per repo with names like feat/the-other-thing
  • One or two experiments you forgot to push — and almost lost when you swapped machines or wiped a worktree
  • A low-grade worry that one of those branches has the version you actually want

Canopy puts every branch in one window so you can always answer: "where did I leave that?"

Free · Apple Silicon · ~5 MB