CLI-Manager is a desktop app focused on AI CLI workflow enhancement. It combines local and SSH terminals, multi-project management, deep Claude Code / Codex integration, multi-source history, Git Worktree isolation, and mobile-assisted conversations.
Platform support: Windows (fully tested) | macOS / Linux (experimental, feedback welcome)
🎯 Why CLI-Manager?
When developing across multiple projects, you may run into these problems:
❌ You must keep watching the terminal while Claude / Codex runs, and one missed approval request can block the task
❌ You want to review what code changed in a previous session, but Claude history has no Diff view
❌ You do not know how many tokens you used this month or which project costs the most
❌ You switch terminals across many projects and repeatedly type the same commands
❌ You want different Claude backends for different projects (official / proxy / self-hosted), but have to edit environment variables manually
CLI-Manager provides:
✅ Real-time hook notifications - desktop alerts when Claude needs approval, click to jump back
✅ Live session statistics - token usage, cost, and tool calls for each terminal session
✅ Historical Diff review - review code changes across sessions and jump back to the triggering message
✅ Usage analytics dashboard - heatmaps, trends, efficiency scatter charts, and more
✅ SSH remote development - launch and manage remote AI CLI terminals without leaving the workspace
✅ cc-connect phone conversations - continue Claude Code / Codex sessions from Telegram or Feishu
✅ Multi-source session history - parse and search histories from 11 AI CLI / coding-agent sources
✅ Mature Worktree isolation - isolate, commit, merge, and clean up parallel tasks through a guided workflow
✅ Durable background tasks - keep terminal jobs running and attach again after reopening the app
✅ Desktop pets - visualize session status and jump back to active tasks from a floating companion
✅ Project-level provider switching - switch Claude backend per project without editing config manually
✅ Flexible split layout - free terminal splits plus tab dragging across panes
✅ Command palette and templates - launch projects or run common commands quickly with Ctrl+P
✨ Core Features
🔥 Deep Claude Code / Codex CLI Integration
🔔 Real-time Hook Notifications
Approval reminders - desktop notification when Claude needs approval, click to jump back
Task status sync - terminal tabs show running / waiting approval / completed / failed states in real time
SessionStart binding - automatically links a terminal with its Claude session ID
📊 Live Session Statistics
Real-time token monitoring - input / output / cache token composition for the current session
Cost estimation - real-time cost estimate for the current session
Tool call details - see which tools / MCP extensions Claude invoked
Git branch display - automatically detects the current project's Git branch
Hook notification popup + live tab status sync
Live terminal statistics: tokens / cost / Git branch
📜 Unified Session History
🗂️ Session Browsing
Multi-source view - browse Claude Code, Codex, Gemini, Copilot CLI, Antigravity, Grok Build, Pi, OpenCode, Kiro, Cursor, and Cline history in one place
Smart filters - group and filter by source / project / time
In-session search - highlighted search results with jump navigation
Tags and favorites - mark important sessions for later
🔍 Diff Review
Deep Claude / Codex workflows - Diff review, message editing, session resume, and cross-format conversion
Jump to triggering message - navigate from a Diff block back to the related conversation
Prompt Library - extract historical prompts for quick reuse
Session history list + in-session search and Diff review
Session Source Capability Matrix
✅ Full support · 👁️ Read-only support · — Not supported · DB Database-backed source without a standalone raw session file
Source
Browse
Search
Statistics
Raw source
Diff / changes
Resume
Edit / delete
Convert
Live stats
Claude Code
✅
✅
✅
✅
✅
✅
✅
✅
✅
Codex CLI
✅
✅
✅
✅
✅
✅
✅
✅
✅
Gemini CLI
👁️
👁️
👁️
👁️
—
—
—
—
—
GitHub Copilot CLI
👁️
👁️
👁️
👁️
—
—
—
—
—
Antigravity
👁️
👁️
👁️
👁️
—
—
—
—
—
Grok Build
👁️
👁️
👁️
👁️
—
—
—
—
—
Pi
👁️
👁️
👁️
👁️
—
—
—
—
—
OpenCode
👁️
👁️
👁️
DB
—
—
—
—
—
Kiro
👁️
👁️
👁️
👁️
—
—
—
—
—
Cursor
👁️
👁️
👁️
👁️
—
—
—
—
—
Cline
👁️
👁️
👁️
👁️
—
—
—
—
—
Statistics depend on the fields exposed by each source. Claude Code and Codex CLI provide the deepest integration, including Hook-driven live status, file-change Diff, message editing with audit / rollback, resume, and two-way session conversion.
Proxy and diagnostics - built-in HTTP CONNECT / SOCKS5 proxy helper, connection tests, host-key confirmation, and detailed diagnostic logs
Remote project workflow - browse remote directories, configure remote startup commands and environment variables, and launch AI CLI sessions directly in the target path
Workspace integration - remote terminals support tabs, splits, Workspan, background execution, and daemon-backed recovery
Remote Agent and Hook - explicitly install or upgrade the signed cli-manager-ssh-agent, configure Claude/Codex roots per host or project, preview Hook changes, and install or remove only CLI-Manager-owned entries
Reliable live status - SSH sessions with a validated installed Hook reuse daemon-owned protocol 1.7 Agent bridges with bounded handshake/response timeouts, heartbeat, reconnect gates, and a streaming Host/client-isolated spool
Remote history - browse scoped Claude Code and Codex sessions from the existing history workspace, with incremental list/search, on-demand detail and Diff, usage summaries, pagination, and explicit stale/offline cache state
Remote resume - preflight the original session, Host identity, config root, and cwd through the Agent, then continue it in a new interactive SSH terminal or jump to the existing Tab
Remote files and Git - browse a confined read-only file tree, search names or text, preview text and images, and use the full Git panel through the SSH Agent without passing remote paths to local filesystem or Git APIs
Credential safety - passwords use the operating system credential store; sync and export never include passwords, credentials, or private-key paths
Remote Hook status, read-only remote history/resume, file and Git panels, realtime Tab stats, and catalog-backed usage analytics are available for Claude Code and Codex. Remote file/Git writes, local Explorer/Finder actions, Worktree tools, external terminal launch, and remote resource monitoring are not available. SSH projects never scan or switch remote providers.
SSH host management, authentication, proxy, and connection diagnostics
📱 Mobile Conversations with cc-connect
Chat from your phone - use Telegram or Feishu to start independent Claude Code / Codex conversations on the desktop host
Project-scoped access - explicitly select the project exposed to remote conversations and restrict access with a fail-closed user-ID allowlist
Managed runtime - CLI-Manager verifies the supported cc-connect binary checksum, generates an isolated configuration, supervises the process, and can start it with the app
Secure credentials - bot tokens and app secrets are stored in Windows Credential Manager instead of generated config files
Claude and Codex support - Claude uses its permission modes; Codex uses the app-server stdio approval channel, with YOLO mode available only through an explicit warning and confirmation
History convergence - remote conversations create native CLI histories and flow back into CLI-Manager's unified session workspace
The current cc-connect integration runs on a Windows desktop host and supervises one project plus one messaging platform at a time. Telegram and Feishu are supported.
Project / Agent selection, allowlist, credentials, and process status
Claude Code / Codex conversation from Telegram or Feishu
💻 Terminal and Splits
🖥️ Built-in Terminal
Multiple shell support - Windows (PowerShell / CMD / Pwsh / WSL / Git Bash), macOS / Linux (Bash / Zsh, etc.)
Command suggestions - combine templates, existing local history, built-in AI CLI commands, and path completion without automatically executing the candidate
Command palette: fuzzy search + quick launch
Command templates: three scopes + variable substitution
🗂️ Project Management
Project groups - nested groups / drag sorting / collapse and expand
Built-in file and Git tools - file browsing / editing, Git status and Diff, hunk rollback, and sub-repository visibility
Mature Worktree isolation - prompt, auto-isolate parallel tasks, or always isolate into dedicated directories and wt/<task-name> branches
Finish-task workflow - review and commit changes, merge into the main workspace, abort safely on conflicts, then clean up the Worktree and branch
☁️ WebDAV Cloud Sync
Versioned backups - immutable snapshots instead of a single overwrite-only backup
Selective restore - restore individual data domains, create a safety snapshot first, and undo the most recent restore
Multi-device retention - independent device snapshots with automatic retention of recent versions
Offline retry - failed uploads stay in an outbox and retry on a later launch
Local import and export - ZIP backup support with the same restore workflow
🎨 Personalization and Themes
App themes - multiple built-in themes and customization
Terminal themes - Tokyo Night / Dracula / Monokai / Nord / Solarized, etc.
Font customization - UI font / terminal font / size / font color
Shortcut configuration - all shortcuts are customizable
Compact mode - compact UI plus external terminal by default
Desktop pets - floating status companion, task list and session jump-back, size / position / always-on-top controls, .clipet packages, and Codex Pets compatibility
Desktop pet, task list, pet gallery, and `.clipet` package management
🧭 Product Positioning and Comparison
CLI-Manager is positioned as a durable AI CLI workspace: it connects local and SSH terminals, multi-agent execution, long-term session history, Git Worktree isolation, analytics, provider configuration, background tasks, and phone conversations into one product.
The comparison below is based on the public positioning of Orca and cmux as of 2026-07-05. Planned CLI-Manager capabilities are explicitly marked as planned.
Area
CLI-Manager
Orca
cmux
Primary focus
Long-running AI CLI workspace across projects, local / SSH terminals, history, analytics, and configuration
Multi-agent orchestration and result comparison in isolated worktrees
Native macOS terminal workspace for agent panes, notifications, and programmable surfaces
Desktop platforms
Windows fully tested; macOS / Linux experimental
macOS / Windows / Linux
macOS
Remote workflows
Built-in SSH projects / terminals plus cc-connect phone conversations through Telegram or Feishu
SSH-oriented worktree workflows and remote orchestration
SSH / tmux through a composable terminal workflow
Session history
11 parsed sources with unified browse, search, filtering, tags, favorites, and statistics
Usage, account, notification, and AI Diff-oriented features
Session restore, notification panel, and workspace metadata
Deep history operations
Claude / Codex Diff, file changes, message edit / delete, audit rollback, resume, and two-way conversion
Choose CLI-Manager for a persistent daily workspace around Claude Code, Codex, and other AI CLI histories, especially when you need SSH, Worktree task isolation, deep history operations, analytics, provider management, and phone access.
Choose Orca when the central workflow is dispatching the same task to multiple isolated agents, comparing their results, and merging the preferred output.
Choose cmux when the priority is a native high-performance macOS terminal with programmable panes, notifications, and terminal / browser surfaces.
🌍 Multi-surface Roadmap
Surface
Status
Role
Desktop app
✅ Available
Full terminal, project, history, Git, analytics, SSH, and background-task workspace
Phone conversations
✅ Available through cc-connect
Talk to Claude Code / Codex from Telegram or Feishu while the desktop host supervises the session
Web client
🧭 Planning
Browser-based access to CLI-Manager workflows; scope and release schedule are not yet committed
Dedicated mobile client
🧭 Planning
A first-party mobile companion beyond messaging-platform conversations; scope and release schedule are not yet committed
🤖 Agent Parallelism
CLI-Manager provides two mature parallel-work paths: automatic sub-agent visualization inside the terminal workspace, and project-level Git Worktree isolation for independent tasks.
🤖 Automatic Sub-agent Splitting
Smart splits - automatically creates split terminals when Claude Code dispatches sub-agents
Session association - each sub-agent gets an independent terminal with live status sync
Layout optimization - automatically adjusts split layout based on agent count
🌿 Mature Git Worktree Task Isolation
Flexible isolation strategies - keep normal opening as the default, prompt when a parallel CLI task exists, auto-isolate parallel sessions, or always create a Worktree
Dedicated directory and branch - each task uses an independent Worktree directory and wt/<task-name> branch
Integrated project context - file browsing, Git status, history, live statistics, provider overrides, and terminal focus follow the active Worktree
Dependency setup - optionally detect missing dependencies and open a dedicated installation terminal
Finish-task wizard - review and commit changes, merge into the main workspace, abort safely on conflicts, and clean up the Worktree / branch
Safety guards - block merges into a dirty main workspace, skip no-diff merges, handle stale / damaged Worktrees, and retry cleanup around Windows file locks
📸 Preview
Main interface - terminal workspace
🛠️ Tech Stack
Frontend
Framework: React 19 + TypeScript 5.8
Build tool: Vite 7
State management: Zustand
Styling: Tailwind CSS 4
Terminal: xterm.js + FitAddon + WebglAddon
UI components: Radix UI, Mantine Core
Charts: ECharts
Drag and drop: @dnd-kit
Diff rendering: react-diff-view
Backend
Runtime: Tauri 2.x
Language: Rust
Database: SQLite (tauri-plugin-sql)
Storage: tauri-plugin-store
PTY: Rust PTY session management
Cloud sync: WebDAV adapter layer
Core Capabilities
Cross-platform desktop app (Windows / macOS / Linux, based on Tauri 2)
Deep Claude / Codex history workflows (Diff, edit, resume, conversion, and analytics)
SSH remote projects and terminals (OpenSSH launch plans, proxy support, diagnostics, remote directory browsing, and signed Linux Agent lifecycle management)
cc-connect mobile conversations (Telegram / Feishu with Claude Code or Codex)
Desktop pets (.clipet packages and Codex Pets compatibility)
Read-only cc-switch provider database parsing
WebDAV cloud sync and conflict handling
Git integration (branch detection / project path health checks)
🚀 Quick Start
Option 1: Download a Release
Go to the Releases page and download the latest version.
Windows builds are the primary release artifact at the moment. macOS / Linux users are recommended to build from source.
SSH Remote Agent
For a configured SSH Host, open Settings -> SSH Hosts -> CLI Integration to explicitly preview and install, upgrade, roll back, or uninstall cli-manager-ssh-agent. The first supported remote targets are Linux x86_64 and aarch64. Opening the page never connects automatically, and Agent lifecycle operations never install or modify Claude/Codex Hooks.
After the Agent is installed and detected, use the Claude or Codex card on the same page to inspect the configured root, preview the exact files and fingerprints, and explicitly confirm Hook installation or removal. Each SSH Host and project override keeps its own config-root identity; the default roots are $HOME/.claude and $HOME/.codex.
The reusable bridge requires Agent protocol 1.1 or newer. An older healthy Agent remains available for explicit upgrade, but is shown as incompatible until it provides heartbeat, cancellation, and bounded-backpressure capabilities.
The same signed release artifacts can be installed from a reviewed POSIX script:
curl -fL -o install-ssh-agent.sh https://github.com/dark-hxx/CLI-Manager/releases/latest/download/install-ssh-agent.sh
less install-ssh-agent.sh
sh install-ssh-agent.sh
The script requires curl, minisign, and either jq or python3. It verifies the signed manifest, target, artifact size, and SHA-256 before execution. Use --install-dir for a custom root; HTTP mirrors require the explicit --allow-http option and still must pass the built-in public-key verification.
Option 2: Run from Source
Prerequisites
Node.js >= 20
Rust >= 1.70
Operating system: Windows 10/11 | macOS | Linux
Install Dependencies
npm install
Start Development Mode
npm run tauri dev
Build a Release
npm run tauri build
Other Useful Commands
# TypeScript type check
npx tsc --noEmit
# Rust check
cd src-tauri && cargo check
# Rust tests
cd src-tauri && cargo test
🎯 Use Cases
✅ Developers who use Claude Code / Codex CLI heavily
✅ Users who need real-time token usage and cost monitoring
✅ Users who want to review historical session code changes
✅ Users who need one searchable history workspace across multiple AI CLI tools
✅ Developers who run AI CLI tasks on remote SSH hosts
✅ Developers who want to continue Claude Code / Codex conversations from a phone
✅ Teams running parallel tasks that need mature Git Worktree isolation and merge cleanup
✅ Users who need long-running CLI tasks to survive window or app restarts
✅ Users who want a lightweight visual companion for task and session status
✅ Multi-project development workflows with frequent terminal switching
✅ Users who manage multiple Claude backends with cc-switch
✅ Users who need to sync development configuration across devices
💡 All shortcuts can be customized in Settings - Shortcuts.
💬 Community
Author's personal WeChat QR code. Please add the note cli-manager when adding the author.
🎉 Acknowledgements
This project was promoted in the LINUX DO community. Thanks to the LINUX DO community for supporting and recognizing open-source projects.
📄 License
CLI-Manager is dual-licensed:
Open source: AGPL-3.0-or-later. Companies and individuals may use, study, modify, distribute, and provide network access to CLI-Manager under the AGPL terms.
Commercial: Proprietary integration, closed-source modifications, internal productization where AGPL obligations are not acceptable, commercial redistribution, or hosted/managed offerings under proprietary terms require a separate commercial license. See COMMERCIAL-LICENSE.md.
Ordinary use of the unmodified application does not require a commercial license. Open-source use that complies with AGPL-3.0-or-later does not require a commercial license.
⭐ Star History
⭐ If this project helps you, a Star is appreciated.