CCManager CLI

CCManager is a session manager for Claude Code, Codex, Gemini CLI and other agents: each runs in its own Git worktree with status and hooks

  • 1,270 ★ on the repository
  • Last commit
  • MIT
CLI

Broad access

Why this level

  • Starts agent processes in a terminal and runs hook commands from settings on status changes and worktree creation
  • Creates, merges and deletes Git worktrees and copies ignored files such as `.env` and Claude Code session data
  • The auto approval mode answers the agent's permission prompts by itself
All reasons and checks

kbwo/ccmanager

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/ccmanager

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Starts agent processes in a terminal and runs hook commands from settings on status changes and worktree creation
  • Creates, merges and deletes Git worktrees and copies ignored files such as `.env` and Claude Code session data
  • The auto approval mode answers the agent's permission prompts by itself

This is third-party code. Review the repository files before installing.

What it does

CCManager is a terminal app that runs several coding-agent sessions in parallel, each in its own Git worktree. It installs with `npm install -g ccmanager`, starts with `ccmanager` or `npx ccmanager`, and needs no tmux. Supported agents are Claude Code, Gemini CLI, Codex CLI, Cursor Agent, Copilot CLI, Cline CLI, OpenCode, Kimi CLI, MiniMax Code and Grok Build. Each has its own state detection, so the menu shows which session is busy, waiting for your answer or idle. The default key to return from a session to the menu is Ctrl+E. From the menu you create, merge and delete worktrees and manage several repositories in one interface. When creating a worktree CCManager can copy Claude Code session data from `~/.claude/projects` to the new one so the conversation continues with the same context. If the repo root holds a `.worktreeinclude` file, gitignored files such as `.env` are carried into the new worktree, only those that match a pattern and are actually ignored. Settings live in `~/.config/ccmanager/config.json` and in a `.ccmanager.json` at the repo root, with project values taking priority. They define command presets with fallback arguments, shortcuts, a path pattern for new worktrees based on the branch name, and hooks for session status changes and worktree creation. The repository also doubles as a marketplace with the `ccmanager-config` plugin: the skill teaches Claude Code or Codex the settings schema and runs a validator after each edit.

Who it is for. For developers who run several coding agents across branches of one or more repositories and want their states in one menu without tmux.

Good fit when

  • You work on two or three branches in parallel, each with its own agent, and have to remember which one is waiting for you
  • A new worktree needs `.env` and local certificates that are not in Git: `.worktreeinclude` covers that
  • You want a notification when a session switches to waiting, or a dependency install after a worktree is created: hooks do that
  • You manage several repositories and want to switch between them in one interface
  • You would rather have an agent configure CCManager: install the `ccmanager-config` plugin and describe what you need in words

Not a fit when

  • You use one agent on one branch: a separate menu and worktrees add nothing
  • You prefer tmux sessions: the author suggests staying with Claude Squad, which is built around tmux
  • You need a graphical interface or phone control: CCManager only runs in a terminal
  • You expect agents to keep running after you close it: closing stops the processes it started

Example request

Set up ccmanager in this repository: run codex by default and send me a notification when a session is waiting for my answer

Limitations

  • Closing CCManager ends the processes of the agents it started. On the next start it offers to restore sessions from `~/.config/ccmanager/sessions.json`, but the command is simply run again: earlier terminal output and the conversation inside the agent do not come back.
  • A wrong settings file raises no errors: JSON with a mistake is discarded whole and unknown keys are ignored, so a typo looks like a feature that does not work. After editing the file outside the app, choose the reload-from-disk item.
  • For `claude` sessions with the default state-detection mode CCManager adds `--teammate-mode in-process` itself unless you set your own value.
  • Auto approval is marked experimental: prompt review is handed to Claude (Haiku) or your own command, and on an error or timeout manual confirmation remains.
  • Gemini CLI has a separate setup guide in `docs/gemini-support.md`. MIT license, package version 4.4.9.

How to disable. Remove the package with `npm uninstall -g ccmanager`. Settings files live in `~/.config/ccmanager` and in the repository's `.ccmanager.json`. The `ccmanager-config` plugin is removed through the Claude Code or Codex plugin manager.

FAQ

How do I run several Claude Code sessions in parallel on different branches?

Install `npm install -g ccmanager` and run `ccmanager` in the repository. From the menu create a worktree for each branch and open a session in it. The list shows states: busy, waiting, idle. Ctrl+E returns you to the menu.

How do I carry a Claude Code conversation into a new worktree?

When creating a worktree CCManager asks whether to copy session data. If you say yes it copies files from the source directory's `~/.claude/projects` entry to the new worktree's. The default answer is set in the worktree settings. If copying fails the worktree is still created.

How do I bring `.env` into a new Git worktree?

Put a `.worktreeinclude` file with gitignore-style patterns at the repository root. Only files that match a pattern and are actually ignored by Git are copied, so tracked files are never duplicated. Copying happens before the post-creation worktree hook runs.

How do I get notified when an agent is waiting for me?

In settings you can define a session status change hook that runs your command, for example a notification through noti. Details and examples are in `docs/status-hooks.md`.

How can an agent configure CCManager for me?

Add the `kbwo/ccmanager` marketplace and install the `ccmanager-config` plugin. The skill knows the schema of `.ccmanager.json` and the global `config.json` and runs a validator after every change, because CCManager itself stays silent about a bad file.

Can agents run inside a container?

Yes, devcontainer integration is supported: the manager stays on the host and the sessions run in the container, which allows restricting the network while keeping notifications and automation on the host.

Discussion

No questions or reviews yet.

CLI tools

ZCF

ZCF - Zero-Config Code Flow

A CLI that sets up Claude Code and Codex in one run: workflows, agents, skills, MCP and a provider choice

CLIExtended access6.1KRepository stars

A set of 24 slash commands for the Claude Code CLI: commits, review, refactoring, tests and cleanup without repeating the same prompts

PluginExtended access2.8KRepository stars

Claude Codex Settings

claude-codex-settings

A marketplace of dozens of plugins for Claude Code, Codex, Cursor and Gemini: skills, commands, hooks, subagents and configs for many tasks

PluginExtended access1.2KRepository stars

A desktop GUI app for Claude Code: session management, custom agents and a token cost dashboard

CLIExtended access22.4KRepository stars

A personal toolkit as a marketplace: seven independent Claude Code plugins for planning, review, releases and a backlog

PluginExtended access488Repository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialRepository starsMain difference
CCManager (this entry)no1,270
Claude Squadno8,645a terminal app built on tmux sessions; CCManager needs no tmux and shows each session's state in the menu
Agent Deckno1,138a terminal session manager with a shared status list, git worktree and control
Worktrunkno9,396a git worktree CLI with the wt command, plugin and hooks, without an agent session menu

README in short

The repository holds the TypeScript app sources, a `docs` directory with separate guides, and the `ccmanager-config` plugin with a validation script. The front page opens with a feature list and a comparison with Claude Squad, then covers installation, shortcuts, per-project settings, a table of supported agents, and sections on command presets, session data copying, `.worktreeinclude`, session restore, hooks, auto approval and devcontainers.

README badge

Report a problem

Foxx AICCManager
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.