News for hackers. Stuff that matters.

Show HN: Ccmux – Reduce context switching for parallel Claude Code sessions

https://github.com/TheHumbleTransistor/ccmux

I’ve been running parallel Claude Code instances while working on different tasks. Two problems kept slowing me down:

  1. I was constantly jumping between terminals to see which session needed input.

  2. Using git worktrees added setup friction (installing deps, bootstrapping environments, etc.), which discouraged parallel work.
So I built ccmux.

It’s a thin layer on top of tmux that:

  - Adds a glanceable sidebar UI showing all Claude Code sessions

  - Surfaces attention-needed states with visible alerts

  - Wraps git worktrees with a lightweight workflow abstraction so spinning up parallel tasks feels cheap
Technical details:

  - tmux provides the pane/session orchestration

  - The sidebar is built with Python’s Textual (rich TUI)

  - Each Claude Code session runs as a window in a nested tmux session.
I now use it daily to juggle multiple AI coding sessions without losing context. Happy to answer questions or dive into implementation details.
( 9 comments | 5 points | on HN )
Re:Show HN: Ccmux – Reduce context switching for parallel Cl... by jlongo78 on Monday March 02, 2026 @03:00PM (#47223282)
Parallel agent sessions get unwieldy fast. One pattern that helps: treat each session as a named unit tied to a specific task scope, not just a terminal tab. When you can search past conversations by content rather than scrolling history, context recovery after switching becomes trivial. Also worth considering persistent session replay - being able to rejoin a long-running agent mid-task without re-prompting saves significant time across a workday.
Re:Show HN: Ccmux – Reduce context switching for parallel Cl... by raykamp on Monday March 02, 2026 @03:21PM (#47223539)
Hey jlongo78, thanks for the feedback and insights.

"persistent session replay" are you meaning more of a "resume" than "replay" ? I'm a little bit confused by the description, but curious to understand.

If I'm understanding it correctly, I think you'll appreciate what ccmux offers for streamlining the switch/resuming sessions: a sidebar that shows ongoing tasks that can be named. Each one requires just a mouse click or key binding to switch into.

Re:Show HN: Ccmux – Reduce context switching for parallel Cl... by jlongo78 on Monday March 02, 2026 @03:32PM (#47223638)
Good clarification - yeah, "resume" is closer to what I meant. Less about rewinding and more about picking up context mid-task without losing your mental thread.

The named sidebar sounds useful for switching. My main need is the conversation history staying searchable and tied to that named scope, so when I return days later I can reconstruct what the agent was doing and why. Does ccmux persist that context across sessions?

Re:Show HN: Ccmux – Reduce context switching for parallel Cl... by raykamp on Monday March 02, 2026 @03:50PM (#47223871)
Mind if I ask what line of software you work in?

The ccmux sessions are tied 1-to-1 with claude code sessions. If a the ccmux "workspace", ccmux's tmux session, gets killed or a user intentionally kills/deactivated a ccmux session, it can be reactivated easily. Under the hood it's just ccmux tracking claude code session IDs and attempting to resume said session when reenabling.

Your input has me thinking there could be a couple features to consider:

  - A search feature to search through all claude code sessions and resurrect one as a ccmux session. 
  - Right now ccmux sessions have two things to quickly indicate their specific task/intention: a configurable name and they clearly show the git branch name they have checked out. I originally opted for this very lightweight approach, but perhaps more context is required about the task at hand, especially for long-running multi-day sessions.
Re:Show HN: Ccmux – Reduce context switching for parallel Cl... by jlongo78 on Monday March 02, 2026 @04:01PM (#47224012)
The search feature would be huge - that friction of "which session was working on X" is exactly where things break down.

On the context side, maybe a short freeform note field attached at session creation? Branch name gets you partway there but doesn't capture intent. Something like "refactoring auth layer - blocked on X" would make resurrection much faster after a few days away.

I work mostly in backend infra and developer tooling.

Re:Show HN: Ccmux – Reduce context switching for parallel Cl... by raykamp on Monday March 02, 2026 @04:12PM (#47224141)
OK, that's great input.

Expanding on that idea, the short freeform note/summary could be optionally auto generated and continually maintained (if scope shifts) by the Claude session. Akin to AI summarizing changes and writing git commits for us.

Re:Show HN: Ccmux – Reduce context switching for parallel Cl... by jlongo78 on Monday March 02, 2026 @05:01PM (#47224788)
That auto-generated summary idea is sharp. The session basically narrates its own purpose as it evolves, so you never have to reconstruct context after stepping away. Similar to how good commit messages document intent, not just changes. The tricky part is keeping summaries tight when scope creeps - you'd want the model to flag drift rather than just silently updating, so you actually notice when a session has become two problems pretending to be one.
Re:Show HN: Ccmux – Reduce context switching for parallel Cl... by JPHutchins on Monday March 02, 2026 @03:02PM (#47223311)
Cool! I think that the git worktrees are essential for efficiently working on simultaneous tasks in one repo, and anything to lower the friction is welcome.
Re:Show HN: Ccmux – Reduce context switching for parallel Cl... by raykamp on Monday March 02, 2026 @03:53PM (#47223914)
Agreed! Before using ccmux I essentially abandoned using worktrees on certain projects because the setup and teardown was too cumbersome.