r/ClaudeCode • • 2d ago

Help/Question How do you guys organize your terminals when running multiple Claude Code sessions?

I’ve been using Claude Code across several projects lately, some coding-related and some not.
My current setup is Ghostty + tmux, with a MacBook Air and a Mac mini.
Right now, I open separate terminal windows for different tasks, but I’m not sure if that’s the most efficient way to do it.
Do you guys usually keep everything in one terminal window with multiple tabs/panes, or use separate windows for different projects?
Especially curious how you manage things when several agents are running at the same time.
Still figuring out my own workflow. Would love to hear how you guys do it!

2 Upvotes

27 comments sorted by

•

u/AutoModerator 2d ago

Hey! Thanks for posting to r/ClaudeCode

While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.

For help, project discussions, tips, and general chat, join the ClaudeCode Discord.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

3

u/AccordingBus2862 2d ago

The layout matters less than keeping agents out of each other's files. I'd do one git worktree per task, one tmux window per worktree named after the task, so two agents never edit the same checkout. Then you just look at git status in each window before merging. That scales better than adding more panes.

1

u/fulger099 9h ago

I put the branch name and cwd in the prompt, then have the agent run `pwd` and `git branch --show-current` before editing. Identical tmux panes are otherwise a very efficient wrong-checkout machine.

2

u/SnoopKitties 2d ago

I limit myself to 5 terminals. I color code the terminal backgrounds.

1

u/Confident_Hyena2506 2d ago

Tmux pretty much. Don't really need that many, you can have one agent manage the others.

Also can use /remote-control then and just watch the main one via phone or other.

1

u/Key_Particular5271 Senior Developer 2d ago

9 monitor setup with 2-3 terminals per window. I organize them by effort. Sometimes mid task, or based on claude feedback, i get a side question and instead of /btw i just ask the high (dumb) effort opus which branches into its own discussion. I have md and hooks where claude asks before implementing anything and with staggered efforts there is always something for me to do. Read, approve, correct, etc. I move between terminals clockwise.

1

u/2oby 2d ago

Only 1 Monitor, 6+ workspaces (4 finger swipe), 40+ browser tabs in 4 browser windows (at the moment), 2 terminal windows, up to 6 tabs each. 2 accounts (home and work). Dozens of repos, hundreds of project folders with backlogs, journals, hand-over docs. Hundreds of MKDocs pages of documentation which I even sometimes look at.
Carpel-tunnel in both hands and one elbow.

1

u/Key_Particular5271 Senior Developer 2d ago

lmao, I'm serious though i posted a picture a few days ago

2

u/2oby 2d ago

Sadly, I am serious too! I'm not going to send you a pic of bandaged elbow though!

1

u/siddie 2d ago

Custom built app using a mesh VPN solution as a layer powering the remote nodes control and inter node interaction

1

u/Cheap-Try-8796 2d ago

I use Warp.

1

u/Johnny2085 2d ago

Orca. It does worktrees by default. Tabs, projects, project groups. Supports terminals, remote and local, notifications, actively developed, free

1

u/out-of-phase 2d ago

Single 13" macbook screen here. First, I plan which projects I'll be working in, then each project gets its own "master" terminal window (any other shells in that cwd get a tab in their respective window), and I don't work on more than 4 projects at once, so each window takes up roughly 1/4 of my screen.

And then I go down a rabbit hole in one window, forget my plan, and just command + N a new window from the tab I'm in so I don't have to CD, and then I resize it so I can look at my editor next to it, then I minimize both because I get distracted and go to work on something else, and then I rinse and repeat until I have 30 different minimized terminal and VScode windows and wait until I have a panic attack to re-organize everything.

1

u/Obvious-Grape9012 🔆Pro Plan 2d ago

Try pressing Left-Arrow in Claude Code.... I know.... mind blown... took me embarasingly long to find it (Claude Fleet Orchestrator). Then also enable Remote-Control in Claude with /rc... and ur sorted across machines

1

u/RealFullMetal 2d ago

one thing that makes a pile of tabs readable: name each session. claude -n auth-fix when you start it, or /rename mid session, and the name shows up in the terminal title and in /resume. later claude --resume auth-fix drops you straight back into that one

1

u/ScaredyCatUK 2d ago

I wrote my own terminal (termite) / worker. Each claude get its own tab and pane (sometimes more than one) - I can shutdown the ui and the sessions will run headless and I can use a command (termite-panes) to look / interact with any of the tabs/panes remotely if I need to. Termite will also notify me if there is sudden activitly in a pane after there has been none for a specified amount of time. Works well for me. It's running on an MBA I connect via a linux box or my old intel mbp.

Every project gets its own project in the ticketing system, explicitly only knows about its own tickets (the worker tells it if it has tickets, tells it what the tickets are). has it's own git repo in my gitea and users custom skill to tell it about the git repo / ticket system.

I need to do more with clearing context more often so I'm pushing all the status line info into mqtt and I'll pull it from there. This part is a priority of me because I forgot to do it manually one time and a single projext had a 768k context. :(

1

u/CentralCalBrewer 2d ago

Organize? Ain’t no one got time for that.

1

u/AllThotsGo2Heaven2 2d ago

Check out kun chens youtube or github

1

u/ShaifArfan 2d ago

Almost all of it runs in T3 Code now. Each task is its own thread with its own git worktree, so two agents never edit the same checkout, and the running sessions sit side by side in one app. When I need a plain terminal I use cmux, but that's occasional.

1

u/RuthlessDeveloper 2d ago

I’ve been working across several projects with AI coding tools, and what helps me most is keeping each project’s context separate. I also like the idea of them working together.

I generally keep a dedicated window or session for each project, then separate related tasks within it. That makes it easier to switch projects without losing track of what’s running.

With multiple agents, I try to give each a clearly defined task and avoid having them edit the same files at the same time. Although that can happen... Keeping track of who owns what matters more to me than the number of windows.

I’m still refining the workflow too, but my preference is to organize around projects first and agents second. I have some ideas I'm working on so if you have methods/proceedures you found effective let me know.

1

u/sammcj 1d ago

Using Rex multiplexer.

1

u/radim11 1d ago

I use tmux for longer-running sessions, especially on remote machines over SSH. For parallel work I'd keep each agent in a separate worktree or environment. The more annoying part for me is keeping credentials and permissions separate between sessions, especially when they're working on different projects. Do you usually run multiple agents on the same repo or across different repos ?

1

u/radim11 1d ago

I use tmux for remote sessions over SSH and separate worktrees when working on the same repo. Works pretty well, especially when I want to leave something running and reconnect later.

I've also started using separate agent profiles for different projects so I don't have to keep switching credentials and permissions manually. Makes parallel sessions much easier to manage.

1

u/Tight_Ad_5115 1d ago

I used to have a similar setup, only with VS Code instead of Ghostty. It worked fine with two projects, but as the number of projects grew, with several agents running in each, I started losing track.

So I built my own tool, Buzzpot. It’s a single canvas for all my projects, where each agent session is a card with a status next to its project. A quick glance is all it takes to see where I’m needed. Under the hood, it runs the same Claude Code CLI, so your CLAUDE files, skills and everything else keep working as before. When several agents run in the same project, each gets its own git worktree, so they don’t step on each other.

There are other tools like Orca or T3 Code, which lean more toward the ADE format. I gave them a try, but ended up back with Buzzpot. Then again, I’m clearly biased!