sideshell
Allows AI agents to execute commands in a visible iTerm2 terminal pane, maintaining session persistence and allowing user intervention.
Integrates with JetBrains IDEs via a plugin to run commands in a terminal within the IDE, supporting persistent sessions and user interaction.
Enables AI agents to run commands in a tmux session, providing a persistent terminal with visible history and intervention capability.
Provides integration with WezTerm for running commands in a persistent, visible terminal pane.
Click on "Deploy 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., "@sideshellrun 'python -m http.server' in a new side terminal"
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.
sideshell
AI sidecar terminal — let any MCP client (Claude Code, Cursor, Codex, OpenCode, Pi, …) run commands in a visible, persistent terminal you control.
Why?
When AI assistants run shell commands, they execute in a hidden terminal:
❌ No visible history
❌ Can't intervene (enter password, confirm prompts)
❌ Output mixed with AI conversation
sideshell runs commands in a separate visible terminal:
✅ Full command history visible
✅ Persistent session (survives AI restarts)
✅ Intervene anytime (passwords, confirmations)
✅ Clean separation from AI conversation
Related MCP server: Terminal Hook
Supported Terminals
Verified on lists the operating systems where the backend is exercised by a live end-to-end test pass. Other combinations may work but are not yet verified — see Notes.
Terminal | Verified on | Notes |
iTerm2 | macOS | Native Python API |
tmux | macOS, Linux | Also expected in WSL (tmux on |
WezTerm | macOS, Linux | Windows expected ( |
Kitty | macOS, Linux | — |
Ghostty | macOS |
|
maquake | macOS | Drop-down terminal via Unix socket |
VS Code / Cursor | macOS, Linux | Extension + Unix-socket bridge. |
JetBrains IDEs | macOS, Linux | Plugin + Unix-socket bridge; verified on both terminal engines (Classic + Reworked). Windows named-pipe server pending |
Features
Multi-Backend - Works with iTerm2, tmux, WezTerm, Kitty, Ghostty, maquake, VS Code/Cursor, or JetBrains IDEs
Sidecar Terminal - AI commands run in a visible terminal pane
You Stay in Control - See everything, intervene anytime
Session Persistence - Terminal survives AI session restarts
TUI Support - Arrow keys, F1-F12, Ctrl+C/D/Z for interactive apps
Focus Management - Optionally returns focus after operations
Installation
Using uvx (Recommended)
# Install uv first
curl -LsSf https://astral.sh/uv/install.sh | sh
# Run sideshell
uvx sideshell-mcpClaude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"sideshell": {
"command": "uvx",
"args": ["sideshell-mcp"]
}
}
}Using pipx
pipx install sideshell-mcp
sideshell-mcpBackend Selection
# Auto-detect (default)
uvx sideshell-mcp
# Force specific backend
uvx sideshell-mcp --backend=tmux
uvx sideshell-mcp --backend=iterm2Available Tools (17)
Tool | Description |
| Execute commands (supports |
| Read terminal output |
| Send special keys: Ctrl+C/D/Z, arrows, F1-F12, Home/End, PageUp/Down |
| List all windows/tabs/sessions |
| Split pane horizontally or vertically |
| Create new window |
| Create new tab |
| Smart session creation (splits if window exists) |
| Focus specific session |
| Close terminal session |
| Set tab title, badge, and color |
| Get detailed terminal state |
| List available color presets |
| Apply color preset |
| Show alert dialog |
| Clear terminal screen |
| Paste text to terminal |
MCP Resources
Resource | Description |
| List all terminal sessions |
| Backend features and system info |
| Session details |
| Screen content |
Prerequisites
iTerm2 (macOS)
Open iTerm2 → Preferences → General → Magic
Enable "Enable Python API"
Restart iTerm2
tmux
# macOS
brew install tmux
# Ubuntu/Debian
sudo apt install tmuxWezTerm
Download from wezfurlong.org/wezterm
Kitty
# macOS
brew install --cask kitty
# Linux
curl -L https://sw.kovidgoyal.net/kitty/installer.sh | shArchitecture
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ MCP Client │────▶│ sideshell │────▶│ Terminal │
│ (Claude) │ │ MCP Server │ │ Backend │
└─────────────┘ └──────────────┘ └─────────────┘
│
┌───────┴────────────┐
│ Backends │
├────────────────────┤
│ • iTerm2 │
│ • tmux │
│ • WezTerm │
│ • Kitty │
│ • Ghostty │
│ • maquake │
│ • VS Code / Cursor │
│ • JetBrains IDEs │
└────────────────────┘VS Code/Cursor and JetBrains backends talk to their IDE extension/plugin over a
local Unix domain socket (~/.sideshell/<ide>.sock) using newline-delimited
JSON-RPC 2.0 with a token handshake.
Development
git clone https://github.com/menemy/sideshell
cd sideshell
uv pip install -e ".[dev]"
# Run tests
python tests/test_iterm2_backend.py # iTerm2
python tests/test_tmux_backend.py # tmux
python tests/test_wezterm_backend.py # WezTerm
python tests/test_kitty_backend.py # Kitty
# Lint & format
ruff format .
ruff check . --fixRequirements
Python 3.11+
One of: iTerm2, tmux, WezTerm, Kitty, Ghostty, maquake, VS Code/Cursor, or a JetBrains IDE
License
MIT
Contributing
Fork the repository
Create a feature branch
Add tests for new functionality
Ensure all tests pass
Submit a pull request
This server cannot be deployed
Maintenance
Related MCP Connectors
Run AI customer support from your terminal: conversations, knowledge base, and chat widget.
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMonitors development commands and exposes terminal output to Claude in real-time, allowing AI assistants to see errors, logs, and stack traces without copy-pasting.73MIT
- AlicenseNot gradedqualityCmaintenanceA VSCode and Cursor extension that captures real-time terminal output and exposes it to AI assistants via the Model Context Protocol. It enables agents to proactively monitor logs, command execution, and errors without requiring manual copy-pasting from the user.3MIT
- FlicenseNot gradedqualityAmaintenanceThe terminal AI agents can drive: a cross-platform desktop terminal (macOS/Linux/Windows, MIT) that runs a local MCP server. Spawn tabs/panes, run commands with structured output, read screens and full scrollback, take scrolling screenshots, record sessions with secret redaction, switch identity profiles. Auto-registers with Claude Code / Codex / Gemini CLI on install.13-
- FlicenseNot gradedqualityDmaintenanceA visual surface for terminal Claude Code that provides a persistent dashboard the agent curates itself, per-session telemetry with cost, and a menu bar glyph for status.-