sideshell is an MCP server that gives AI assistants a visible, persistent terminal. See every command. Intervene anytime. No more hidden shell sessions.
When AI assistants run shell commands, everything happens in a hidden sandbox. You can't see the output in real time, can't type a password when prompted, and can't interrupt a runaway process. The conversation becomes a guessing game.
sideshell moves AI command execution into a real terminal window that stays open on your screen. Same shell, full visibility, complete control.
17 MCP tools that give AI assistants full terminal access while keeping you in the driver's seat.
Commands run in a real terminal window on your screen. Watch output stream in real time, not after the fact.
Intervene anytime -- enter passwords, answer prompts, Ctrl+C a runaway process. The terminal is yours.
When a command needs a `sudo` or SSH password, you type it into the terminal. The keystrokes go to the shell, never to the model.
Terminal sessions survive AI restarts. Pick up where you left off -- running servers, SSH connections, everything intact.
Eight native backends — iTerm2, tmux, Ghostty, WezTerm, Kitty, VS Code/Cursor, JetBrains, maquake. Works on macOS, Linux, and WSL.
Extensions for VSCode/Cursor and IntelliJ/PyCharm. Integrates directly into your development workflow.
Execute commands, read output, split panes, manage sessions, control appearance, send keystrokes, and more.
sideshell sits between your AI assistant and a real terminal emulator, bridging them through the MCP protocol.
The AI assistant calls sideshell's execute tool through MCP, just like calling any other tool.
sideshell routes the command to a real terminal window. You see it execute live, just as if you'd typed it yourself.
sideshell reads the terminal output and returns it to the AI. The session persists -- state, history, environment variables, everything.
Eight native backends across terminal emulators and IDEs. Auto-detection picks the
right one; --backend overrides.
Every tool your AI assistant needs to operate a terminal, grouped by function.
execute
Run commands
control-char
Send keys
paste
Paste text
clear
Clear screen
read
Read output
get-terminal-state
Full state
list
List sessions
split
Split pane
new-tab
New tab
new-window
New window
new-session
Smart create
focus
Focus session
close-session
Close
set-appearance
Title, badge, color
set-color-preset
Color preset
list-color-presets
Available presets
show-alert
Alert dialog
sideshell speaks MCP. Any client that supports the protocol can use it.
With uvx there's
nothing to install — your MCP client runs it on demand. Just add a few lines of config.
{
"mcpServers": {
"sideshell": {
"command": "uvx",
"args": ["sideshell-mcp"]
}
}
}
{
"mcpServers": {
"sideshell": {
"command": "uvx",
"args": ["sideshell-mcp", "--backend", "ghostty"]
}
}
}
Requirements: Python 3.11+ and at least one supported terminal emulator. By default, sideshell auto-detects your available terminal. Use --backend to override. Every backend works with the base install; only iTerm2 needs an extra — pip install 'sideshell-mcp[iterm2]'.