Launching today

Canopy
Parallel, sandboxed Claude Code sessions on native macOS
32 followers
Parallel, sandboxed Claude Code sessions on native macOS
32 followers
Canopy runs parallel Claude Code sessions as tabs in one native macOS window — each in its own git worktree, each its own Claude. Close the app and every session resumes with its conversation intact. One-click "Merge & Finish" handles the merge-and-cleanup dance, a split shell pane lets you run git without interrupting Claude, and an Activity dashboard shows where your tokens actually went. Native SwiftUI, no Electron. macOS 14+, AGPL-3.0. Built by someone who uses it daily.











Congrats on the launch. The worktree + container split is the part that feels most useful: code isolation and runtime isolation are different problems.
One edge case I’d love to understand: when two Claude sessions touch shared project surfaces like package manifests, migrations, env examples, or generated types, does Merge & Finish detect cross-worktree conflicts before merging, or is the workflow still “merge one, then resolve manually”? That conflict boundary is where parallel agents usually stop feeling parallel.
@studentzuo, great minds think alike, this was on my to-do list. I will accelerate!
the hard part of parallel claude code sessions is clobbering each other's git state and working dir. if each session gets a genuinely isolated checkout, that's the whole ballgame — the rest is ui.
@qifengzheng that's the ballgame indeed. On UI: every feature earned its place, and saves you 10-30 seconds. It makes a difference at the end of each day :)
Git worktree isolation for parallel sessions is such an obvious idea once you see it, but I've never seen anyone actually build it cleanly like this. The sandboxed container part is what sells me though — letting Claude run commands on its own feels a lot safer when it's contained. Another Windows user wishing this existed for me too.
@josedamian Thank you. Here's your incentive to move to Macs 😉