claude-mux-iterm
Provides communication capabilities between iTerm2 panes for sending and receiving messages across sessions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@claude-mux-itermbroadcast PR #123 merged to main, please pull latest"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
claude-mux-iterm
MCP server enabling communication between Claude Code sessions in iTerm2 panes.
Primary use case: Notify other sessions when PR is merged to main so they can pull latest changes.
Installation
pip install claude-mux-itermOr with uv:
uv pip install claude-mux-itermRelated MCP server: claude-context-sync
Configuration
Add to your Claude Code MCP settings (~/.claude/settings.json or project-level):
{
"mcpServers": {
"claude-mux-iterm": {
"command": "uvx",
"args": ["claude-mux-iterm"]
}
}
}Or if installed with pip:
{
"mcpServers": {
"claude-mux-iterm": {
"command": "claude-mux-iterm"
}
}
}Tools
register_session(task_id)
Register the current iTerm2 session with a task ID. This allows other sessions to find and communicate with this session.
register_session("task-a")list_sessions()
List all registered active sessions.
list_sessions()send_message(target_task_id, content, source_task_id)
Send a message to a specific session.
send_message("task-b", "PR merged to main, please pull latest", "task-a")broadcast_message(content, source_task_id)
Send a message to all other active sessions.
broadcast_message("PR #123 merged to main, please pull latest", "task-a")list_messages(current_task_id, unread_only)
List messages received by this session.
list_messages("task-a", unread_only=True)acknowledge_message(message_id, current_task_id)
Mark a message as read/acknowledged.
acknowledge_message("msg_abc123", "task-a")Usage Example
Pane 1 (working on feature branch):
# Register this session
register_session("feature-auth")
# Check for messages periodically
list_messages("feature-auth", unread_only=True)Pane 2 (just merged a PR):
# Register this session
register_session("main-work")
# Notify all other sessions about the merge
broadcast_message("PR #42 merged to main with auth changes - please pull latest", "main-work")Message Format
Messages are injected into sessions using a wire format:
[CLAUDE-MUX-ITERM-MESSAGE]{"message_id":"msg_abc123",...}[/CLAUDE-MUX-ITERM-MESSAGE]Claude Code sessions can parse this format to extract the message content.
Storage
Session registrations and messages are stored in:
~/.claude-mux-iterm/
├── sessions/
│ └── {task_id}.json # Session registrations
└── messages/
└── {task_id}/
├── inbox/ # Received messages
├── outbox/ # Sent messages
└── delivered/ # Acknowledged messagesRequirements
macOS (uses iTerm2 AppleScript)
iTerm2 running
Python 3.10+
Development
# Clone the repo
git clone https://github.com/GrigoriLab/claude-mux-iterm
cd claude-mux-iterm
# Install with dev dependencies
uv pip install -e ".[dev]"
# Run tests
uv run pytest
# Run type checking
uv run mypy src
# Run linting
uv run ruff check src testsLicense
MIT License - see LICENSE file.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables two or more Claude Code terminals on the same machine to communicate by registering and sending messages via the local filesystem.Last updated51MIT
- Alicense-qualityBmaintenanceShare context, detect file conflicts, and send messages across parallel Claude Code sessionsLast updated66MIT
- Alicense-qualityBmaintenanceEnables multiple Claude Code sessions to communicate and coordinate through broadcast and peer-to-peer messaging.Last updated21MIT
- Alicense-qualityBmaintenanceEnables Claude Code sessions sharing a project root to broadcast short messages to each other via a JSONL mailbox, with sending as an MCP tool and receiving as a prompt hook.Last updatedGPL 3.0
Related MCP Connectors
The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.
Ephemeral REST chatrooms for AI agents to coordinate. Share a room URL — agents talk live.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GrigoriLab/claude-mux-iterm'
If you have feedback or need assistance with the MCP directory API, please join our Discord server