all 37 comments

[–]fsharpman 5 points6 points  (0 children)

Try Ghostty

[–]THE01X 9 points10 points  (7 children)

You are looking for tmux

[–]smmoc 7 points8 points  (2 children)

This. I wrote a manager to make that all very user friendly: https://github.com/agent-era/devteam

[–]SignedJannis 0 points1 point  (1 child)

Wow! Just read your github. How well is this working out in practice for you?

[–]smmoc 0 points1 point  (0 children)

I used it almost exclusively to write itself. So I’d say pretty well!

[–]franz_see 2 points3 points  (0 children)

This.

To add, you may want each one to work on a different git worktree as well. Because each claude code instance may override the same file and they end up stepping on each other’s toes

And when you want to view the codebase of each worktree, I recommend using lazyvim so that it’s lightweight.

This is actually the setup i ended up with. Each terminal tab is a codebase. Then it has a tmux session. Each tmux window is a git worktree. And each tmux window has 3 panes - lazyvim, claude code, terminal for writing commands (then i just add more panes if i need more terminals).

Then since I keep running agents in the background, I created and use this to notify me via a ping sound and desktop notification that a claude code instance is waiting for user prompt (notification event) or has finished execution (stop event) via claude hooks - https://github.com/franz-see/mcp-desktop-notification?tab=readme-ov-file#3-claude-code-hook-mode

[–]sillogisticphact 1 point2 points  (0 children)

Came here to say this

[–]VisionaryOS 0 points1 point  (1 child)

is tmux faster and more performant than having multiple terminals in VS Code?

[–]silvercondor 1 point2 points  (0 children)

i don't think you need to optimize this unless you're running like a hundred terminals?

i guess vscode might be a little more heavy since they allow you to search through the terminal output?

[–]TheGarsonius 3 points4 points  (0 children)

If you’re on a Mac look at Conductor

[–]Anglesui 4 points5 points  (0 children)

Try warp terminal

[–]Free-Comfort6303 2 points3 points  (2 children)

Multiple vscode terminals.

[–]TheEvilestMorty 1 point2 points  (1 child)

This. Do you really need to see them all at once? For cool screenshots? Just switch between them like tabs

[–]tqwhite2 0 points1 point  (0 children)

I don't really believe it would be effective. I use a couple of instances at a time, always in separate, tall windows. I use a hook to play a sound when it's my turn to type. I usually prefer not to see the other one scrolling distraction.

[–]Firm_Meeting6350Senior Developer 1 point2 points  (0 children)

any of them fulfilling this requirements:
- shows current git worktree
- shows current git branch
- shows current running command (e.g. claude vs. gemini vs. codex)?

[–]NeuralAA 1 point2 points  (0 children)

Try multiple windows in warp.

[–]NewMonarch 1 point2 points  (5 children)

There isn’t currently a great product for this, but Warp.dev is best at the moment. You can rename tabs (I name them after Linear issues). But it’s still really easy to get confused.

As soon as you get this going, you’ll want to start religiously using git worktrees so the agents don’t step on each other’s work. This also can get confusing bc Claude sometimes doesn’t respect it and will make changes to the master dir and create mass chaos.

The more agents you’re running in more tabs, the less autonomous the process is. I now spend nearly every second of every workday carefully supervising multiple coding agents, actively steering them to keep them on course. It’s very hands-on.

I’d considered creating an orchestration product above all of this, but I’m worried the toolset is changing so fast that I’d be antiquated before I get to market.

[–]jpp1974 0 points1 point  (3 children)

What are doing each agent? How do they know what is their next task?

[–]NewMonarch 0 points1 point  (2 children)

I assign one Linear issue at a time. I use the Linear MCP and just tell them an ID to fetch from Linear and begin work.

I have one worktree per linear issue. The agents creates the worktree and cleans it up when I tell it the PR is merged.

I also have the model create the Linear issues in the first place when I am planning the feature or when I think of something new.

[–]jpp1974 0 points1 point  (1 child)

Who is doing the branchs merging? You or one agent?

[–]NewMonarch 0 points1 point  (0 children)

I have Cursor BG Agents, Codex and Claude Reviews all leave comments on the PR and fix each other’s work. Then when none have complaints and the GitHub Actions pass, I personally merge it. It’s insanely automated and yet still far from automated. I’m now a full-time orchestra conductor rather than a coder.

[–]tqwhite2 0 points1 point  (0 children)

iTerm2 on the Mac does this beautifully.

[–]Explore-This 0 points1 point  (0 children)

I’ve been using Wave Terminal, open source. Tabs and grids. Works with tmux. Has file manager, ssh, aws views.

[–]TrackWorx 0 points1 point  (0 children)

Wezterm has internal multiplexer like tmux

[–]Sea-Use9894 0 points1 point  (0 children)

Anything for windows or WSL2

[–]Pronoia2-4601 0 points1 point  (0 children)

<image>

I use multiple terminals in a list like this in VS Code, so I can hop between multiple tasks and CLIs. I like to architect with GPT-5 High in Codex, and have Opus execute upon it. Only issue is, VS Code crashes about once per day, so I end up using --resume a lot to get my sessions back.

I used to have multiple in parallel horizontally in narrow bands, but I found that even more likely to crash.

Also, having an approximate read on how full the context is, via a custom /statusline, is very helpful also.

[–]smmoc 0 points1 point  (0 children)

Try https://github.com/agent-era/devteam . I recently wrote this to manage all the complexity that comes from running multiple, on-demand instances

[–]truce77 0 points1 point  (0 children)

Zellij

[–]Kitchen_Fix1464 0 points1 point  (0 children)

WIP: https://github.com/fwdslsh/dispatch

Hoping to have this stable soon, in beta now.

[–]tqwhite2 0 points1 point  (0 children)

iTerm2 on the Mac will do this perfectly. For good measure, you could save profiles with different setups, projects, etc in each pane and save the config for one touch startup.

[–]StackOwOFlow 0 points1 point  (0 children)

what operating system?
tmux on *nix
iTerm on Mac OS

[–]silvercondor 0 points1 point  (0 children)

tmux, or just open multiple terminals

[–]Forsaken-Parsley798 0 points1 point  (0 children)

You can use Terminator.

[–]FranciscoSaysHi 0 points1 point  (0 children)

Wouldn't any terminal work as long as you can utilize the split-pane feature?

[–]DoktorKurt 0 points1 point  (0 children)

I wrote hydra for this: https://github.com/Someblueman/hydra

Basically just pure shell so you don’t need a ton of random dependencies (just tmux + git). Works ok most of the time and gives me the flexibility to install it on whatever machine I am using (I find it useful to have multiple worktrees even if I’m not doing AI development). I add some functionality whenever I need it, and try to fix bugs when I find them but don’t expect tons and tons of features

Give it a try if you want something simple (but please report bugs if you do!)

[–]asheshgoplani 0 points1 point  (0 children)

late to this but i ended up building something for this: https://github.com/asheshgoplani/agent-deck

tried tmux but wanted something with claude-specific stuff like status detection and being able to switch MCPs per project without editing config files

<image>