CodeShellManager is a WPF desktop application designed for managing multiple parallel CLI tool sessions in a configurable grid layout. It allows users to host various AI coding agents like Claude Code, Codex, GitHub Copilot, SSH remotes, or any shell simultaneously.
Key features include:
Configurable Grid Layout: Organize up to 18 sessions across customizable grids (e.g., 2x2, 6x2, 6x3) with an active pane highlighted for easy navigation.
Full-Text Search: Instantly search terminal output across all sessions using SQLite FTS5.
Alert Detection: Notifications when agents require input or approval, indicated by green/orange dots.
Per-Session Git Status: Displays branch and dirty state in the sidebar for quick project overview.
Sleep/Wake Mechanism: Park inactive sessions to free resources while retaining their state for later resumption.
Session Persistence: Automatically resumes last Claude Code session on startup, with options to toggle this feature.
Ideal for developers managing multiple AI coding agents or CLI tools, CodeShellManager enhances efficiency and collaboration by streamlining terminal management.
A Windows desktop app for running multiple AI coding agents side-by-side — Claude Code, Codex, GitHub Copilot, or any CLI tool — in a tabbed and grid-layout terminal host.
Built with WPF + xterm.js + Windows ConPTY for full pseudo-terminal fidelity.
Features
Multi-terminal grid — run up to 18 sessions simultaneously in configurable layouts (1, 2, 3, 4, 6 columns; 2×2, 6×2, 6×3 grids); the active pane is highlighted with a 2px accent ring so it's easy to spot
Sidebar groups — organise sessions into named groups with their own color and filter strip; bulk actions (sleep / close / re-group) operate on the active group
Sleep & wake — 💤 button parks a session: PTY torn down, but the session (and its notes) stays in the sidebar so you can wake it later from where you left off. Great when you have many long-running projects but only need a few live at once.
Recently closed — Ctrl+Shift+T reopens the last-closed session (browser convention); the New Session dialog also lists the last 10 closed sessions for one-click revival
Per-session run commands — define a list of labelled commands per session (Test, Build, Watch…); ▶ runs the default, F5 / Shift+F5 run/stop it, output streams into a side drawer without touching the parent terminal. Optional post-run URL opens in your browser on exit code 0.
Full-text search — all terminal output indexed to SQLite FTS5; instant search across every session, ever
Per-project notepad — collapsible 📝 notes panel on every terminal, auto-saved and searchable
Alert detection — detects when Claude is waiting for input or tool approval; green/orange dot indicators
Git status — shows branch and dirty state in the sidebar per session
Session rename — double-click any session name or click ✏ to rename inline
Auto-resume — automatically resumes the last Claude Code session when restoring on startup (--resume ); toggleable in Settings
SSH remote sessions — connect to remote hosts using your existing SSH config; sessions persist across restarts
Windows Terminal profile import — opt-in import of profiles from Windows Terminal's settings.json; pick a profile in the New Session dialog to stamp its font, color scheme, cursor and padding onto the new terminal
Launch & shutdown spinners — every starting session shows a brief overlay (Starting … or Connecting to …) until the first PTY byte arrives; closing the window shows a "Shutting down…" overlay during session disposal
Session history — clicking a search result from a closed session offers to relaunch it
Configurable launch commands — customise the commands available in the New Session dialog
Claude badge — sessions running claude commands get a visual indicator
Tray icon — minimises to system tray; balloon notifications for alerts
Settings window — all options configurable; persisted as JSON
> Note: The .msi installer does not bundle the WebView2 runtime. If you're on Windows 10 and see a blank terminal pane, install the WebView2 runtime from the link above.
Installation
winget (recommended)
winget install UmageAI.CodeShellManager
Future updates pick up automatically with winget upgrade UmageAI.CodeShellManager (or winget upgrade --all).
Chocolatey
choco install codeshellmanager
Upgrade with choco upgrade codeshellmanager (or choco upgrade all).