Show HN: Tmux-IDE, OSS agent-first terminal IDE
TL;DR Highlight
An open-source terminal IDE that auto-configures agent team environments where multiple Claude instances work in independent tmux panes, defined by a YAML layout. A potential option for developers wanting to orchestrate multiple AI coding agents simultaneously.
Who Should Read
Terminal-based developers using Claude Code or AI coding agents who want to process multiple tasks in parallel and set up a multi-agent environment. Especially suited for those already using tmux but finding agent orchestration setup tedious.
Core Mechanics
- tmux-IDE declaratively defines tmux session layouts via a single YAML file (ide.yml) and auto-launches Claude instances in each pane. Layout updates in real-time when the config file is modified.
- In agent team mode, one 'Lead' Claude coordinates work while multiple 'Teammate' Claude panes independently handle assigned tasks. Agents assign work and report results through a shared task list.
- Installation supports three methods: curl script, npm global install, and npx instant run. The install script also auto-registers Claude Code skills, letting Claude set up workspaces autonomously when told 'set up the workspace.'
- Auto-detects major stacks (Next.js, Vite, Python, Go) and runs the corresponding dev server alongside agent panes. Preset templates available for quick starts.
- ide.yml is a reproducible config file — recreate the same layout on any machine or project. Generate templates with `tmux-ide init --template agent-team` and apply layout changes instantly with `tmux-ide restart`.
- As of v1.2.0, auto-handles Claude Code's experimental env flags. Team composition and task redistribution work via natural language prompts to the Lead Claude.
- Currently only supports Claude officially — no mixed use with Gemini or OpenAI Codex. Community feedback noted this as a limitation.
Evidence
- Comments pointed out technical challenges of multi-agent orchestration. Sending initial text to tmux via send-keys is easy, but reading responses from each session and detecting task completion is tricky. The main orchestrator checking multiple session states can freeze itself, leading to consideration of cron-style periodic status checks.
- Some questioned the utility of multi-agent setups. One developer who uses lots of tokens daily noted that research shows even human multitasking productivity gains are illusory, sharing a Wikipedia link. They suggested focusing on a single agent is better.
- Several alternative tools were mentioned in comments: wingthing (tmux-style sessions + web terminal remote access, FOSS), smux (similar tool built with Claude in 1 hour), cmux.com, etc. The open-source alternatives landscape is growing rapidly.
- Heavy tmux users worried about conflicts with existing workflows. One comment said 'too accustomed to existing tmux layout to switch,' while another empathized with the need, saying 'managing multiple agents with tmux + git worktree is tedious.' Difficulty onboarding VSCode-familiar team members was also mentioned as a general terminal IDE limitation.
- Comments pragmatically addressed token costs. Running multiple Claudes simultaneously burns through tokens rapidly. One user shared that switching 80% of tasks to smaller models showed barely noticeable quality difference. The inability to mix other models (Gemini, Codex) was also noted as a drawback.
How to Apply
- For parallel AI tasks in new projects (e.g., frontend components and backend API simultaneously), try `npx tmux-ide`, generate ide.yml with `tmux-ide init --template agent-team`, then tell the Lead Claude to 'split tasks and assign to teammate panes.'
- If you're already manually using tmux + Claude Code, declare your current pane setup (Claude pane, dev server pane, shell pane) in ide.yml to recreate the same layout anytime with a single `tmux-ide` command.
- If you've hit session state detection issues trying to implement multi-agent orchestration with tmux send-keys, check this tool's GitHub code along with wingthing (https://github.com/ehrlich-b/wingthing) and smux (https://github.com/gergomiklos/smux) for back-and-forth communication pattern ideas.
- If the Claude-only limitation is a blocker, open a Gemini/Codex support request issue on the project GitHub, or try customizing by swapping the command field to a different CLI-based AI tool.
Code Example
snippet
# Installation
curl -fsSL https://tmux.thijsverreck.com/install.sh | sh
# or
npm i -g tmux-ide
# or run immediately
npx tmux-ide
# Initialize project
cd ~/Developer/my-project
tmux-ide init --template agent-team
# → ide.yml created
# Run IDE
tmux-ide
# Restart after changing layout
tmux-ide restart
# ide.yml example
name: my-project
rows:
- size: 70%
panes:
- title: Claude 1
command: claude
- title: Claude 2
command: claude
- panes:
- title: Dev Server
- title: ShellTerminology
tmuxA terminal multiplexer that splits one terminal into multiple panes. Its key feature is that processes keep running on the server even when you disconnect the session.
orchestrationCoordinating multiple agents or services to work together. Here, the Lead Claude distributes tasks to other Claudes and collects results.
paneEach divided area of a terminal screen in tmux. Multiple panes within one tmux window let you view several tasks simultaneously.
Claude Code skillA feature extension registered so Claude can automatically handle specific tasks like dev environment setup. Auto-registered during tmux-IDE installation, enabling Claude to configure workspaces on its own.
send-keysA tmux command that programmatically sends key input to another pane or session. Used to send commands to agents in automation scripts, but lacks response reading capability, making bidirectional communication tricky.
git worktreeA git feature that lets you check out multiple branches simultaneously in different directories from a single repository. Useful when multiple agents work in parallel on different branches.