English | 日本語
A Windows-native GUI for managing multiple AI CLI sessions — with first-class IME support for CJK and other composition-based input.
🌐 Landing Page · 📥 Download · 💬 Discord
TerminalHub is a Windows desktop application that brings multi-session management to Claude Code / Gemini CLI / Codex CLI through a single GUI. It uses the Windows ConPTY API to deliver session management, status monitoring, and notifications — without needing tmux.
Just run the installer — no .NET installation required.
On macOS / Linux you can manage multiple sessions with tmux + tools like claude-tmux. On Windows native, tmux isn't available and session management choices are limited. For developers who type in CJK (Japanese, Chinese, Korean) or other composition-based scripts, most Windows terminals also struggle with IME — a long-standing pain point that TerminalHub avoids by rendering via XTerm.js in the browser.
| Problem | How TerminalHub Solves It |
|---|---|
| IME composition (Japanese / Chinese / Korean input) breaks or flickers in most terminals | Full IME support through XTerm.js in-browser rendering |
| Windows Terminal tabs don't show session name or status at a glance | Unified sidebar with session name, processing state, and elapsed time |
No tmux on Windows means no session manager |
GUI for creating, switching, and archiving sessions |
| Staring at the screen waiting for a long task to finish | Completion notifications + Webhook integration |
| Git worktree management is all manual | One-click worktree session creation from the GUI |
| Remembering the right flags for each AI CLI | Checkbox-based option configuration (approval mode, resume, etc.) |
- Run as many terminal sessions as you want (no hard limit)
- Named sessions with memos and search filtering
- Automatic session state save / restore
- Session archive / restore / bulk delete
- Multi-browser support — connect to the same session from multiple browsers
| Feature | Claude Code | Gemini CLI | Codex CLI |
|---|---|---|---|
| Session management | ✓ | ✓ | ✓ |
| Real-time status detection | ✓ | ✓ | – |
| Token usage / elapsed time display | ✓ | ✓ | – |
| Completion notification | ✓ | ✓ | ✓ |
| GUI option configuration | ✓ | ✓ | ✓ |
- Processing / idle / input-waiting states are detected and displayed in real time
- Inactive sessions show a notification bell when processing finishes
- Webhook notifications forward events to your phone or other services
- Automatic Git repository detection and branch display
- Uncommitted changes indicator
- Git worktree session creation from the GUI
- Parent-child relationship visualization between parent sessions and worktree sessions
Session start / complete events can be forwarded externally.
{
"eventType": "complete",
"sessionName": "session name",
"terminalType": "ClaudeCode",
"elapsedSeconds": 123,
"timestamp": "2025-01-01T00:00:00Z",
"folderPath": "C:\\path\\to\\folder"
}- Command history (navigate with Ctrl+Up / Ctrl+Down)
- Automatic URL detection and click-to-open inside the terminal
- Warnings when a session's working directory no longer exists
- Toast notifications for session initialization errors
- Windows 10 / 11
- .NET 10.0 SDK
- Node.js (optional)
- Download the latest release
- Run
TerminalHub-Setup-x.x.x.exe - Launch from the Start menu or desktop shortcut after installation
git clone https://github.com/zio3/TerminalHub.git
cd TerminalHub
dotnet run --project TerminalHub/TerminalHub.csproj
# or with npm
npm start- Click the "New Session" button
- Pick a working directory
- Choose a session type (Terminal / Claude Code / Gemini CLI / Codex CLI)
- Set options as needed
- Browse / switch sessions from the left sidebar
- Narrow the list with the search box (by name or memo)
- Open the gear icon for memos and archiving
- Right-click to create a worktree session
| Key | Action |
|---|---|
Ctrl + Up/Down |
Navigate command history |
Ctrl + C |
Copy selected text (or interrupt when nothing is selected) |
Ctrl + V |
Paste |
- Frontend: Blazor Server, XTerm.js
- Backend: ASP.NET Core (.NET 10.0)
- Terminal: Windows ConPTY API
- JavaScript: XTerm.js, WebLinksAddon
- Styling: Bootstrap 5
- Installer: Inno Setup
See CLAUDE.md for development details.
- Check that you're running Windows 10 / 11
- Check the browser console for errors
- Make sure browser local storage is enabled
- Private / incognito browsing mode disables persistence
ISC License
akihiro taguchi (info@zio3.net)
Pull requests are welcome. For significant changes, please open an issue first to discuss what you'd like to change.