CLI-Manager: A Desktop Hub for Claude Code and Codex Workflows
A multi-project AI CLI workspace for local terminals, SSH hosts, and mobile-assisted workflows.
At a glance
- What is it?
- CLI-Manager is a TypeScript and Rust desktop app that centralizes local and SSH terminals, session history, token usage, and mobile access for AI coding agents. Its deepest value is in Claude Code and Codex integration, but its support for other agents is mostly read-only.
- Who is it for?
- Adopt CLI-Manager if you live in Claude Code or Codex CLI and want desktop notifications, token tracking, diff review, and SSH remote sessions in one place. The read-only support for Gemini, Copilot, Cursor, and others is thin, so skip it if you need deep editing or resume for those tools.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.
Star history
- dark-hxx/CLI-Manager815 ★ · +242
| Repository | 2026-08-04 | 2026-11-14 |
|---|---|---|
| dark-hxx/CLI-Manager | 573 | 815 |
242 Stars in the last 102 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
What Problem It Solves and Who It Targets
CLI-Manager addresses the pain of running AI coding agents like Claude Code and Codex CLI across multiple projects. The README lists concrete frustrations: having to watch the terminal for permission prompts, lacking a diff view in Claude's history, not knowing monthly token usage, and manually editing environment variables to switch between API backends. The tool is for developers who juggle several projects, use SSH for remote development, and want a unified view of session data. It is not a general-purpose terminal; it is a workspace that assumes you spend most of your time inside an AI CLI. The target user is someone who has already adopted Claude Code or Codex and wants operational control over those tools, not someone exploring AI coding for the first time.
Architecture and Core Mechanism: Hooks, History Parsing, and an SSH Agent
The app is built with Tauri, React, and Rust, with TypeScript as the primary language. The core mechanism is a set of integrations. For Claude Code and Codex, it uses Hook notifications to detect permission requests and task status, and it binds terminal tabs to session IDs via SessionStart. It also uses OSC 133 shell integration to detect command boundaries. For session history, it parses raw files from 11 different AI CLI tools, but the capability matrix shows that only Claude Code and Codex get full support: browsing, searching, stats, diff, resume, edit, and conversion. Other tools like Gemini, Copilot, Cursor, and Cline are read-only, meaning you can browse and search but not edit or resume. The SSH feature includes a separate component, cli-manager-ssh-agent, which is a signed agent that must be installed on the remote host. The README describes a protocol 1.1 Agent bridge that reuses connections per host, with heartbeat and reconnect throttling. This is a real architectural piece, not just a wrapper around ssh.
Getting It Running: Installation and First Steps
The README points to a homepage at cli-manager.github.io, but it does not give explicit install commands. The release list includes V1.3.7, V1.3.6, and ssh-agent-v0.1.10, so you would download a release artifact from the repository. The application is a desktop GUI, so installation is likely a standard installer for your platform. The README states that Windows and macOS are fully tested, while Linux is experimental. After launching, the first steps involve adding a project, opening a terminal, and starting Claude Code or Codex. For SSH, you would configure a host using SSH Config, agent, private key, or password. The SSH agent must be installed and upgraded on the remote host, and the app will only install or remove its own entries in the Hook configuration. The current README describes browser access through device pairing and says the cc-connect messaging integration has been removed. Check the deployment's authentication and network exposure before enabling remote access. There is no mention of a CLI command to set up the app; it is all GUI-driven.
Deepest Value: Claude Code and Codex Integration
The strongest part of CLI-Manager is its support for Claude Code and Codex. The README claims real-time token and cost estimation per session, tool call details, and Git branch display. The diff view is a standout: you can see unified diff or Codex patch style, with line-level highlighting, and jump from a diff block back to the triggering message. You can also edit or delete messages, resume sessions, and convert between Claude and Codex formats. This is not a thin wrapper; it reads the raw session files and parses them. The Hook notification system is also practical: when Claude asks for permission, a desktop popup appears, and clicking it jumps to the terminal. For a developer who runs long agent tasks, this removes the need to watch the screen constantly. The README says Grok Build also supports resume and live stats, but only locally or via WSL, not over SSH.
Genuine Limitations and Wrong-Tool Cases
The capability matrix reveals clear boundaries. Gemini, GitHub Copilot CLI, Antigravity, Pi, OpenCode, Kiro, Cursor, and Cline are all read-only for browsing and searching, with no diff, resume, or edit. If you use those tools primarily, CLI-Manager gives you little more than a file viewer. Another limitation is the SSH feature: remote history and analytics, file/Git panels, Worktree, external terminals, and remote resource monitoring are not yet available. Also, SSH projects never scan or switch remote vendors, so the cc-switch integration is local-only. The current README describes a paired browser workspace and says the earlier cc-connect messaging integration was removed; consult the documentation for the version you install. That is a narrow path for a feature that sounds broad. The README also notes that Linux support is experimental, so users on that OS may hit bugs. For someone who only needs a plain terminal with multiple tabs, this app is overkill and its dependency on specific agent hooks could break if Claude Code changes its hook protocol.
Alternatives: tmux, Raw Terminals, and Dedicated Agent GUIs
The closest alternatives are not other AI workspaces but the tools you already have. A plain terminal with tmux provides persistent sessions, split panes, and SSH support without any agent-specific parsing. The trade-off is that tmux gives you no token statistics, no diff history, and no permission popups. Another alternative is a dedicated GUI for a single agent, such as the Claude Code VS Code extension or the Codex web interface, if you want a more visual experience but do not need multi-project aggregation. The key difference is scope: CLI-Manager tries to unify multiple agents and remote hosts, while tmux is a generic multiplexer and a single-agent GUI is narrow. If you only use one agent on one machine, a simpler tool may suffice. If you need cross-agent history analysis and SSH orchestration, CLI-Manager has a unique approach, but verify that the read-only sources are acceptable for your workflow.
Maintenance, License, and Upgrade Costs
The project is licensed under AGPL-3.0, which has implications if you modify and distribute the software, though this is not legal advice. The repository is not archived, and the last push was August 21, 2026, with a release for ssh-agent-v0.1.10 on the same day. The release cadence is active, with V1.3.7 on August 20 and V1.3.6 on August 16, suggesting frequent updates. The maintenance cost for a user is tied to keeping the SSH agent updated on remote hosts, since the README says you must explicitly install or upgrade the signed agent. The app depends on external tools such as Claude Code and Codex, so changes to their hook formats could break integrations. The README does not mention a migration path for configuration, but the use of OS credential managers for passwords and tokens suggests that re-authentication may be needed after OS updates. For a team, the AGPL license may require careful review if you plan to embed or modify the code.
Editorial conclusion
Adopt CLI-Manager if you live in Claude Code or Codex CLI and want desktop notifications, token tracking, diff review, and SSH remote sessions in one place. The read-only support for Gemini, Copilot, Cursor, and others is thin, so skip it if you need deep editing or resume for those tools. Before adopting, verify that your terminal emulator and shell work with the OSC 133 integration and that the Hook-based notifications fire correctly on your OS. Also confirm that the cc-connect mobile path supports your platform, since the README says the first version runs only on Windows. If you need a simpler tool, consider raw tmux or a plain terminal, because CLI-Manager's complexity is justified only by its agent-specific features.
Frequently asked questions
Which AI CLI session histories can CLI-Manager read?
Eleven sources are parsed: Claude Code, Codex, Gemini, GitHub Copilot CLI, Antigravity, Grok Build, Pi, OpenCode, Kiro, Cursor and Cline. Only Claude Code and Codex CLI are marked fully supported; the others are read-only for browsing, search, statistics and raw data, with Grok Build and OpenCode able to resume sessions.
Which platforms does CLI-Manager support?
Windows and macOS are listed as fully tested and Linux as experimental with feedback welcome. The cc-connect mobile integration currently runs on a Windows desktop host and manages one project and one messaging platform at a time.
How does CLI-Manager switch the Claude backend for a project?
It parses the cc-switch database read-only and lists providers by app_type. A right-click on the project lets you pick one, and the choice is written into that project's .claude/settings.json, with projects either following the global default or carrying an override badge in the project tree.
Where does CLI-Manager keep SSH passwords and mobile bot tokens?
SSH passwords go to the operating system credential manager, and sync and export never carry passwords, credentials or private key paths. cc-connect bot token, app ID and app secret are stored in Windows Credential Manager and are not written into the generated configuration file.
How does CLI-Manager know which Claude session belongs to which terminal?
Through SessionStart binding of a terminal to a Claude session ID, plus OSC 133 shell integration for command boundary detection. Hook notifications then drive the tab status, showing running, pending approval, completed or failed, and raise desktop popups for permission approvals.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/dark-hxx-cli-manager)Star history chart for your README
[](https://hysenlabs.com/projects/dark-hxx-cli-manager)Was this useful?