@adiontaegerron/claude-multi-terminal
v3.0.4
Published
Multi-terminal editor for coordinating multiple Claude Code instances
Downloads
16
Maintainers
Readme
Claude Multi-Terminal
Note for Terminal Agents: If you are a Claude instance running inside this application, you don't need to read this file. Please refer to CLAUDE.md for your instructions.
A multi-terminal editor for coordinating multiple Claude Code instances. Run multiple Claude sessions side-by-side with a unified chat interface to send commands to selected terminals.

Features
- Multi-Terminal Support: Run multiple Claude Code instances in a 2x2 grid layout
- Unified Chat Interface: Send commands to terminals using @ syntax
- Multi-@ Terminal Commands: Target terminals with flexible syntax:
@all command- Send to all terminals@term1,term2,term3 command- Comma-separated terminals@term1 @term2 command- Space-separated terminals
- Mixed @/ Commands: Combine terminal targeting with slash commands:
@term1 /clear- Run slash command on specific terminal@term1 @term2 /list- Multiple terminals with slash commands@all /interrupt- Slash commands with @all
- Smart Autocomplete: Get suggestions while typing @ or / anywhere in your message
- Slash Commands: Built-in commands for terminal management (works anywhere)
- Default Prompt: Set a default prompt to prepend to all messages
- Plan Mode Support: Automatically enters plan mode with Shift+Tab
- Auto-Start Claude: Each terminal automatically starts Claude Code
- Inter-Claude Communication: Claude instances can chat and coordinate using echo commands
- Terminal Management: Claude can create, close, and rename terminals autonomously
- Rename Terminals: Double-click terminal titles to rename them
- Responsive Layout: Adapts to different screen sizes
- Multiple Views: Messages, Terminals, Projects, and Board tabs for different workflows
What's New in v3.0
- Project Management Interface - Built-in epic creation and team collaboration tools
- Scrum Board View - Visual task tracking with swimlanes for each agent
- Enhanced Terminal Instructions - Terminals now start with "standby and wait for instructions"
- Bash Script Integration - Simplified communication using ./bin/send, ./bin/broadcast commands
- Agent Inbox System - Messages delivered to agent-specific inboxes with manual checking
- File System Integration - Project Work directory structure for epics, stories, and tasks
Breaking Changes in v2.2
- JSON-based IPC System - All Claude communication now uses JSON format
- File-based messaging - Claude writes all responses to
.ipc-messages/as JSON files - No terminal output - Claude no longer outputs responses directly to terminal
Breaking Changes in v2.0
- Removed checkbox selection system - All commands must now use @ syntax
- No default terminal selection - You must explicitly specify terminals with @
- Plain text without @ or / will show an error - Every command needs a target
To migrate from v1.x:
- Instead of selecting checkboxes and typing a command, use:
@term1 @term2 command - To send to all terminals, use:
@all command
Installation
From npm
npm install -g @adiontaegerron/claude-multi-terminalFrom GitHub
git clone https://github.com/adiontae-tp/multi-terminal.git
cd multi-terminal
npm install
npm linkUsage
Navigate to your project directory and run:
claude-multiThis will open the multi-terminal editor with all terminals starting in your current directory.
Basic Workflow
- Start the Application: Run
claude-multiin your project directory - Create Terminals: Click "New Terminal" to add more Claude instances (starts with one)
- Target Terminals: Use @ syntax to specify which terminals receive commands
- Send Commands: Type your command with @ targeting and press Enter
- Use Default Prompt: Expand the "Default Prompt" section to set a prompt that's prepended to all messages
Important: Version 2.0 removes checkbox selection. All commands must now use @ syntax to target terminals.
Slash Commands
/send <terminal> <command>- Send command to specific terminal/send-all <command>or/broadcast <command>- Send to all terminals/list- List all terminals/create [name]- Create new terminal with optional name/close <terminal>- Close specific terminal/return <terminal>- Submit current input in terminal (press Enter)/clear <terminal>or/interrupt <terminal>- Send Ctrl+C to terminal/help- Show available commands
@ Terminal Commands
Send commands directly to terminals using @ syntax:
@Terminal1 ls -la- Send to single terminal@"My Terminal" pwd- Terminal with spaces in name@term1,term2,term3 date- Multiple terminals (comma-separated)@term1 @term2 @term3 whoami- Multiple terminals (space-separated)@all echo "Hello"- Send to all terminals
Autocomplete: Type @ anywhere to get terminal suggestions!
Application Views
The application features four main views accessible via bottom tabs:
- Messages Tab: View all inter-agent communication and system messages
- Terminals Tab: Traditional terminal interface with multiple Claude instances
- Projects Tab: Create epics, manage stories, and coordinate team tasks
- Board Tab: Scrum board visualization with task swimlanes by agent
Claude-to-Claude Communication
Claude instances communicate by creating JSON files in the .ipc-messages/ directory. All communication uses a unified JSON format:
IPC Commands (trigger actions and display in Messages tab):
- Send message:
{"type":"ipc","command":"SEND","from":"Terminal1","to":"Terminal2","content":"Hello"} - Broadcast:
{"type":"ipc","command":"BROADCAST","from":"Terminal1","content":"Hello all"} - Create terminal:
{"type":"ipc","command":"CREATE","from":"Terminal1","content":"NewTerminalName"} - Close terminal:
{"type":"ipc","command":"CLOSE","from":"Terminal1","to":"Terminal2"} - Rename terminal:
{"type":"ipc","command":"RENAME","from":"Terminal1","to":"Terminal2","content":"NewName"} - List terminals:
{"type":"ipc","command":"LIST","from":"Terminal1"} - Get status:
{"type":"ipc","command":"STATUS","from":"Terminal1","to":"Terminal2"}
Display Messages (UI only, no actions):
- User responses:
{"type":"display","from":"Terminal1","content":"Task completed","metadata":{"category":"user","visible":true}} - Status updates:
{"type":"display","from":"Terminal1","content":"Processing...","metadata":{"category":"info","visible":true}}
All Claude responses appear in the Messages tab with clean formatting, icons, and timestamps.
Tips
- Each terminal automatically starts Claude Code when created
- Claude receives its identity: "You are a terminal agent. Your name is [Terminal Name]."
- Plan mode is activated automatically using Shift+Tab
- Double-click terminal titles to rename them for better organization
- The application uses your current directory as the working directory for all terminals
- Use multi-@ commands to coordinate multiple Claude instances efficiently
- Claude instances communicate instantly using IPC echo commands for seamless teamwork
Development
Prerequisites
- Node.js (v14 or higher)
- npm
Local Development
# Clone the repository
git clone https://github.com/adiontae-tp/multi-terminal.git
cd multi-terminal
# Install dependencies
npm install
# Start the application
npm startBuilding
# Rebuild native modules
npm run rebuildRequirements
- Claude Code: You must have Claude Code installed and accessible via the
claudecommand - Operating System: Works on macOS, Windows, and Linux
- Node.js: Requires Node.js 14 or higher
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Issues
If you find a bug or have a feature request, please open an issue on GitHub.
