CC Branch restores the working environment around a project: agents, terminals, editors, local folders, SSH machines, and reusable sessions.
Why Developers Use It
1. Restore the full project workbench
- A project may need Codex, Claude Code, dev servers, logs, editors, and multiple tmux windows.
- CC Branch lets you configure that workbench once, then bring it back with one command.
2. Continue from existing sessions
- Agent and tmux sessions may already be running from the last time you worked on the project.
- CC Branch attaches back to those sessions, so returning to a project feels like continuing work instead of starting over.
3. Work across local and SSH machines
- A project may span a local repo, SSH machine, GPU box, remote tmux session, and local editor.
- CC Branch keeps local and remote work in one workspace, so returning to the project means continuing instead of rebuilding.
Install
Desktop app
Download the desktop app from the latest GitHub Release.
Use this when you want the native desktop experience.
CLI and Web UI with pip
Install the CLI/backend and packaged browser Web UI:
pip install cc-branch
The pip package does not install the desktop app. Use GitHub Releases for the native desktop build.
From source
Use the source install when you want to develop or inspect the repo locally:
git clone https://github.com/GeminiLight/cc-branch.git
cd cc-branch
pip install .
Source checkouts do not build the Web UI automatically. Run python scripts/build-webui.py before cc-branch serve when developing the browser UI.
cc-branch is also available as ccb.
Quick Use
Start the browser Web UI:
cc-branch service start
It runs at http://127.0.0.1:8080 by default.
Create and restore a workspace from a project:
cd /path/to/project
cc-branch init
cc-branch plan
cc-branch start
Daily Commands
| Command | What it is for |
|---|---|
cc-branch service start |
Start the local Web UI service in the background |
cc-branch serve |
Run the Web UI server in the foreground |
cc-branch init |
Create a starter .cc-branch/config.yaml |
cc-branch plan |
Show the agents, commands, panes, openers, and SSH targets before launch |
cc-branch start |
Start missing targets or reconnect reusable tmux-backed sessions |
cc-branch attach [tab[:pane]] |
Jump into a running tab, pane, or tmux target |
cc-branch send <tab[:pane]> <message> |
Send a message into a running tmux-managed agent pane |
cc-branch open --opener <tool> |
Open the project with VS Code, Cursor, Warp, terminal, Web UI, or desktop |
cc-branch status |
Show runtime status |
cc-branch sync |
Apply config changes to running tmux targets |
cc-branch doctor --fix |
Diagnose and repair low-risk environment, config, or state issues |
cc-branch session list |
List known agent session metadata |
cc-branch session restore |
Scan local agent transcripts and bind resumable sessions back to panes |
cc-branch session hook |
Let agent-native hooks write session IDs and transcript paths back to local state |
cc-branch snapshot create |
Save the current workspace runtime state for later restore |
cc-branch worktree setup <tab[:pane]> |
Create an optional git worktree and branch for one agent |
Example Config
version: 2
project: my-app
root: .
openWith: cursor
layoutBackend: tmux
tabs:
- name: agents
panes:
- name: planner
agent: codex
- name: review
agent: claude
- name: remote-lab
remote:
host: gpu-dev
cwd: /srv/my-app
panes:
- name: qa
command: npm run qa
Built-in agent profiles are available automatically. Add an agents section only when you need to override a built-in profile or define a custom local tool.
Documentation
- Getting Started
- User Guide
- Feature Reference
- SSH Remote Workspaces
- Install Troubleshooting
- Publishing Runbook
🙏 Acknowledgements
This project has been published on the LINUX DO community, and we deeply appreciate the community's support and feedback.
License
MIT License. See LICENSE for details.
Metadata
Release files for cc-branch 1.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cc_branch-1.4.2.tar.gz | 588.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cc_branch-1.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / cc_branch-1.4.2.tar.gz
| Download URL | cc_branch-1.4.2.tar.gz |
|---|---|
| Size | 588.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
19ef8b859fbcb0367ad3b892aed66f168cbfb923287999b8935d3fd20f37facd
|
|
BLAKE2b-256 checksum How to use checksums |
e442ada28295e9c1d143a5b1fe77cd1b2f9479e1593be706e578cd4893b69c13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 14, 2026.
Transparency logRelease files / cc_branch-1.4.2-py3-none-any.whl
| Download URL | cc_branch-1.4.2-py3-none-any.whl |
|---|---|
| Size | 480.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6d352570eb21c85306b9815cdae6caf57bf44219bfc499eedda15e319f5b5bdc
|
|
BLAKE2b-256 checksum How to use checksums |
237e685d18d3bbb9f1b0eb9addfe3b057025b44841e9d4511f304e33a3730e0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 14, 2026.
Transparency log