
I spend a lot of my working day (and weekends too) inside Claude Code. Not demoing it, not writing about it: using it, on real code, for real projects. When you live inside a tool at that depth, you stop noticing its features and start noticing its friction. The rough edges you’d forgive in a weekend experiment become the thing you think about in the shower.
Here’s the one I couldn’t stop thinking about: Claude Code is the most productive tool I’ve added to my workflow in years, and it quietly assumes you only do one thing at a time.
Real engineering doesn’t work like that. You’re refactoring a module when a production bug lands. A teammate pings you for a review while you’re in the middle of a test. An idea for a side experiment shows up right as you’re about to ship. The work is parallel. The tools are serial.
You already know the workaround. Stash your changes. Check out a new branch. Maybe clone the repo again. Maybe reach for git worktree add, copy your .env by hand, run your setup script, open another terminal, start another Claude session, and, three minutes later, try to remember what you were doing in the first place.
None of this is hard. That’s the trap. Each step is small, so you don’t notice the cost. But at the end of the day, you’ve paid it fifty times. Terminal tabs you can’t identify. Worktrees rotting in ~/code/worktrees/. Claude sessions whose IDs you’ll never find again. A quiet tax on every task.
I got tired of paying for it. So I builtCanopy.
Canopyis a native macOS app that turns parallel Claude Code sessions into a first-class workflow. One window.
Tabbed worktrees. ⌘1–9 to jump between them. Conversations that auto-resume when you reopen the app — no --resume flags, no session archaeology. Per-project config for the files you always copy and the setup commands you always run. One click to merge a worktree back and clean it up, so nothing rots.
The thing I find most interesting, now that I’ve been using it for a couple of months, isn’t any single feature. It’s what disappears. The friction between “I should look at this” and actually looking at it collapses to nothing. Context switches stop feeling like context switches. You stop batching work to avoid the overhead, because there isn’t any overhead left to avoid.
It’s built in SwiftUI — no Electron, no web view — signed and notarized, and free under the AGPL-3.0 license. If you use Claude Code seriously, I think it’s worth ten minutes of your afternoon.
➡️ Download:https://github.com/juliensimon/canopy/releases/latest/download/Canopy.dmg
➡️ Homebrew:brew install --cask juliensimon/canopy/canopy
➡️ Source:https://github.com/juliensimon/canopy
If you try it, please give it a ⭐️ and tell me what to build next. That’s how this keeps getting better!