Native multi-agent runtime for terminal split panes Claude · Codex · Gemini · OpenCode · Droid Visible concurrency, native communication, project-scoped runtime
English | Chinese
Introduction: CCB v6 is the infinite parallel agents edition. It turns split-pane collaboration into a native multi-agent runtime where agents can run side by side, hold independent roles and personalities, and delegate to each other through a stable built-in communication layer.
Parallel agents are not just "more panes on screen". In CCB, each agent can own a fully independent role, task stream, skill library, and personality.
CCB provides the runtime foundation for stable agent-to-agent communication and effectively unbounded delegation. It supports arbitrary agent naming and window arrangement, per-agent control, broadcast dispatch, and point-to-point communication.
ccbopen CCB in the project directory from the terminalccb -ssafe modeccb -nrebuild the project.ccbstateccb killclose CCBccb kill -fdeep-clean exit
Inside a provider / agent runtime:
/ask all "sync on the latest repo state"broadcasts one message to all live agents./ask reviewer "review the new parser change"sends work to the named[reviewer]agent.
Typical pattern:
- use
ask allfor one-shot broadcast or global sync - use
ask agent_namefor targeted delegation - use implicit skill-based calls; agents invoke
askthemselves, and skills are currently auto-installed into Codex, Claude, and other providers - if you only occasionally need to inspect replies manually,
pendandwatchare secondary tools
ccb is controlled by .ccb/ccb.config. That file defines agent names, pane layout, and whether an agent runs inplace or in a separate git worktree.
Quick rules:
agent_name:providerdefines one agent.agent_nameis also the pane label and logical runtime name.cmdadds one shell pane.;splits panes horizontally from left to right.,splits panes vertically from top to bottom.- Default workspace mode is
inplace. If one agent needs an isolated git worktree to avoid conflicts, writeagent_name:provider(worktree).
Example:
cmd; writer:codex, reviewer:claude; qa:gemini(worktree)
This layout means:
- left pane:
cmd - right side: a vertical stack
- top-right pane:
writer - bottom-right side: a horizontal split between
reviewerandqa qaruns in an isolated git worktree;writerandreviewerrun inplace in the main project
Historical note: older release notes below may mention askd, legacy flags, or removed commands. Those references are kept only as changelog history and do not redefine the current CLI surface.
v6.0.4 - Legacy Update Compatibility Hotfix
- Backward-Compatible Release Assets: Linux release tarballs now include a compatibility alias so older 6.x updaters can still find the extracted installer path
- Old Clients Can Upgrade Again: existing
v6.0.1andv6.0.2installs can now update to the latest stable release without needing a patched local updater first - Modern Updater Still Clean: current runtime keeps the correct extracted-directory resolution and does not depend on the legacy alias
v6.0.3 - Self-Update Tarball Hotfix
- Release Upgrade Fixed:
ccb updatenow resolves the extracted release directory correctly instead of treating the.tar.gzasset name as a folder - Installer Handoff Restored: self-update now finds
install.shinside extracted release assets and completes end to end - Release Build Hygiene: Linux release packaging now ignores local
.ccb-requests/residue so official builds are reproducible
v6.0.2 - Caller Attribution, Mailbox Routing, and macOS Install Warning
- Correct Caller Identity:
ccb asknow preserves the real originating agent so replies return to the right mailbox instead of being attributed asuser - Stable Reply Routing: async replies for delegated jobs now land back in the expected mailbox chain, including
cmd-anchored flows - Mixed-Case Agent Recovery: config layout recovery no longer drifts when configured agent names use mixed case
- macOS Homebrew Warning:
install.shnow warns clearly when Homebrew is missing before users try to install tmux and other dependencies
v6.0.1 - Release Archive Hygiene & Safer Upgrade Extraction
- Source Archive Cleanup: Removed accidentally tracked pytest temp artifacts so GitHub source archives are clean again
- Safer Tar Validation: Upgrade extraction now rejects unsafe symlink targets before unpacking
- Clearer Failure Mode: Unsafe archive extraction errors now point users toward release assets or clean source archives
- Regression Coverage: Added tests to block ephemeral repo artifacts from being tracked again
v6.0.0 - Native Multi-Agent Runtime, Stable Native Communication, and Linux-Only Auto Upgrade
🚀 New Runtime Direction:
- Infinite Parallel Agent Foundation: CCB v6 is built as the runtime base for effectively unbounded agent-to-agent delegation and orchestration
- Independent Agent Identity: agents can carry different roles, task ownership, skill libraries, and personalities
- Focused User Command Surface: the public user workflow stays centered on
ccb,ccb -s,ccb -n,ccb kill, andccb kill -f
🧱 Project Rebuild Semantics:
- Config-Preserving Legacy Cleanup: On first
ccbinside a pre-6 project, CCB preserves.ccb/ccb.config, removes the rest of the old.ccbruntime state, and rebuilds locally - Runtime Marker: Modern projects now record
.ccb/project-runtime.jsonso current runtime state is distinguished from legacy state - Worktree Safety Guard: Dirty or unmerged CCB-managed worktrees still block destructive rebuilds until the user resolves them
🔄 Upgrade Policy:
- Linux/WSL Only:
ccb updateis now available only on Linux/WSL for the 6.x line - Release-Only Upgrades: Source tags are still published with each version, but
ccb updatefor 6.x installs the GitHub release asset, not the source archive - Stable Release Targeting: Default upgrades now resolve to the latest stable release instead of the moving
mainbranch - Major Upgrade Confirmation: Upgrading into
6.0.0requires explicit confirmation before replacing the installed runtime
🤖 Provider Reliability:
- Gemini Multi-Round Stability: Gemini completion polling now waits through tool activity and no longer exits on the first stable planning sentence
v5.3.0 - Simplified CLI, Explicit Worktree Mode, and Gemini Completion Stability
🚀 User-Facing CLI Simplification:
- Narrowed Main Surface: Public startup flow is now
ccb,ccb -s,ccb -n,ccb kill, andccb kill -f - Model Control Plane Still Available:
ask,ping,pend, andwatchremain for agent-to-agent orchestration without cluttering primary help
🧱 Workspace Semantics Made Explicit:
- Default Inplace Mode: Compact
ccb.configentries now expand toworkspace_mode='inplace' - Opt-In Isolation: Use
agent:provider(worktree)when an agent must run in its own git worktree - Safe Agent Churn: Adding agents no longer disturbs existing worktrees; removing or renaming worktree agents retires clean branches and blocks on dirty or unmerged ones
🛠 Recovery & Reset Hardening:
- Config-Preserving Reset:
ccb -nrebuilds project runtime state while keeping.ccb/ccb.config - Stale Registration Cleanup: Start and reset now prune missing registered git worktrees before rematerialization
- Kill Warnings:
ccb killwarns clearly when a worktree agent still has unmerged or dirty state
🤖 Gemini Completion Fix:
- No Early Stop on Planning Text: Gemini completion polling now tracks tool-call activity and waits for the real final reply instead of finishing on the first stable “I will ...” message
v5.2.6 - Async Communication & Gemini 0.29 Compatibility
🔧 Gemini CLI 0.29.0 Support:
- Dual Hash Strategy: Session path discovery now supports both basename and SHA-256 formats
- Autostart:
ccb-pingandccb-mountedgain--autostartflag to launch offline provider daemons - Cleanup Path: zombie-session cleanup is now handled by
ccb kill -f
🔗 Async Communication Fixes:
- OpenCode Deadlock: Fixed session ID pinning that caused second async call to always fail
- Legacy Completion Compatibility: Legacy text-based providers still tolerate mismatched
CCB_DONElines in degraded mode - req_id Regex:
opencode_comm.pynow matches both old hex and new timestamp-based formats - Gemini Idle Timeout: Auto-detect reply completion when Gemini omits
CCB_DONEmarker (15s idle, configurable viaCCB_GEMINI_IDLE_TIMEOUT) - Gemini Prompt Hardening: Stronger instructions to reduce
CCB_DONEomission rate
🛠 Other Fixes:
- lpend: Prefers fresh Claude session path when registry is stale
v5.2.5 - Async Guardrail Hardening
🔧 Async Turn-Stop Fix:
- Global Guardrail: Added mandatory
Async Guardrailrule toclaude-md-ccb.md— covers both/askskill and directBash(ask ...)calls - Marker Consistency:
bin/asknow emits[CCB_ASYNC_SUBMITTED provider=xxx]matching all other provider scripts - DRY Skills: Ask skill rules reference global guardrail with local fallback, single source of truth
This fix prevents Claude from polling/sleeping after submitting async tasks.
v5.2.3 - Project-Local History & Legacy Compatibility
📂 Project-Local History:
- Local Storage: Auto context exports now save to
./.ccb/history/per project - Safe Scope: Auto transfer runs only for the current working directory
- Claude /continue: New skill to attach the latest history file via
@
🧩 Legacy Compatibility:
- Auto Migration:
.ccb_configis detected and upgraded to.ccbwhen possible - Fallback Lookup: Legacy sessions still resolve cleanly during transition
These changes keep handoff artifacts scoped to the project and make upgrades smoother.
v5.2.2 - Session Switch Capture & Context Transfer
🔁 Session Switch Tracking:
- Old Session Fields:
.claude-sessionnow recordsold_claude_session_id/old_claude_session_pathwithold_updated_at - Auto Context Export: Previous Claude session is automatically extracted to
./.ccb/history/claude-<timestamp>-<old_id>.md - Cleaner Transfers: Noise filtering removes protocol markers and guardrails while keeping tool-only actions
These updates make session handoff more reliable and easier to audit.
v5.2.1 - Enhanced Ask Command Stability
🔧 Stability Improvements:
- Watchdog File Monitoring: Real-time session updates with efficient file watching
- Mandatory Caller Field: Improved request tracking and routing reliability
- Unified Execution Model: Simplified ask skill execution across all platforms
- Auto-Dependency Installation: Watchdog library installed automatically during setup
- Session Registry: Enhanced Claude adapter with automatic session monitoring
These improvements significantly enhance the reliability of cross-AI communication and reduce session binding failures.
v5.2.0 - Historical mail bridge release
This release introduced the old mail gateway path. That flow is now removed from the supported agent-first surface and remains legacy code only during cleanup.
v5.1.3 - Tmux Claude Ask Stability
🔧 Fixes & Improvements:
- tmux Claude ask: read replies from pane output with automatic pipe-pane logging for more reliable completion
See CHANGELOG.md for full details.
v5.1.2 - Daemon & Hooks Reliability
🔧 Fixes & Improvements:
- Claude Completion Hook: Unified askd now triggers completion hook for Claude
- askd Lifecycle: askd is bound to CCB lifecycle to avoid stale daemons
- Mounted Detection:
ccb-mounteduses ping-based detection across all platforms - State File Lookup:
askd_clientfalls back toCCB_RUN_DIRfor daemon state files
See CHANGELOG.md for full details.
v5.1.1 - Unified Daemon + Bug Fixes
🔧 Bug Fixes & Improvements:
- Unified Daemon: All providers now use unified askd daemon architecture
- Install/Uninstall: Fixed installation and uninstallation bugs
- Process Management: Fixed kill/termination issues
See CHANGELOG.md for full details.
v5.1.0 - Unified Command System + Historical Native Windows Experiment
🚀 Unified Commands - Replace provider-specific commands with agent-first workflows:
| Old Commands | New Unified Command |
|---|---|
cask, gask, oask, dask, lask |
ccb ask <agent> [from <sender>] <message> |
cping, gping, oping, dping, lping |
ccb ping <agent|all> |
cpend, gpend, opend, dpend, lpend |
ccb pend <agent|job_id> [N] |
Supported providers: gemini, codex, opencode, droid, claude
🪟 Historical native Windows experiment:
- Earlier releases explored a native Windows split-pane path
- Background execution used PowerShell +
DETACHED_PROCESS - Large payload delivery used stdin-based handoff
- That backend has since been removed; future native Windows mux support is being redesigned around
psmux
📦 New Skills:
/ask <agent> <message>- Send work to a named agent/ping <agent|all>- Check mounted agent health/pend <agent|job_id> [N]- View latest agent reply
See CHANGELOG.md for full details.
v5.0.6 - Zombie session cleanup + mounted skill optimization
- Zombie Cleanup:
ccb kill -fnow cleans up orphaned tmux sessions globally (sessions whose parent process has exited) - Mounted Skill: Optimized to use
pgrepfor daemon detection (~4x faster), extracted to standaloneccb-mountedscript - Droid Skills: Added full skill set (cask/gask/lask/oask + ping/pend variants) to
droid_skills/ - Install: Added
install_droid_skills()to install Droid skills to~/.droid/skills/
v5.0.5 - Droid delegation tools + setup
- Droid: Adds delegation tools (
ccb_ask_*pluscask/gask/lask/oaskaliases). - Setup: New
ccb droid setup-delegationcommand for MCP registration. - Installer: Auto-registers Droid delegation when
droidis detected (opt-out via env).
Details & usage
Usage:
/all-plan <requirement>
Example:
/all-plan Design a caching layer for the API with Redis
Highlights:
- Socratic Ladder + Superpowers Lenses + Anti-pattern analysis.
- Availability-gated dispatch (use only mounted CLIs).
- Two-round reviewer refinement with merged design.
v5.0.0 - Any AI as primary driver
- Claude Independence: No need to start Claude first; Codex can act as the primary CLI.
- Unified Control: Single entry point controls Claude/OpenCode/Gemini.
- Simplified Launch: Dropped
ccb up; useccb ...or the defaultccb.config. - Flexible Mounting: More flexible pane mounting and session binding.
- Default Config: Auto-create
ccb.configwhen missing. - Project askd Autostart: project askd and provider runtimes auto-start in the project tmux namespace when needed.
- Session Robustness: PID liveness checks prevent stale sessions.
v4.0 - tmux-first refactor
- Full Refactor: Cleaner structure, better stability, and easier extension.
- Terminal Runtime Cleanup: The runtime moved toward a single tmux-oriented pane/control model instead of parallel terminal backends.
- Perfect tmux Experience: Stable layouts + pane titles/borders + session-scoped theming.
- Works in Any Terminal: If your terminal can run tmux, CCB can provide the full multi-model split experience.
v3.0 - Smart daemons
- True Parallelism: Submit multiple tasks to Codex, Gemini, or OpenCode simultaneously.
- Cross-AI Orchestration: Claude and Codex can now drive OpenCode agents together.
- Bulletproof Stability: Daemons auto-start on first request and stop after idle.
- Chained Execution: Codex can delegate to OpenCode for multi-step workflows.
- Smart Interruption: Gemini tasks handle interruption safely.
Details
- 🔄 True Parallelism: Submit multiple tasks to Codex, Gemini, or OpenCode simultaneously. Provider runtimes queue and execute them serially, ensuring no context pollution.
- 🤝 Cross-AI Orchestration: Claude and Codex can now simultaneously drive OpenCode agents. All requests are arbitrated by the project askd layer.
- 🛡️ Bulletproof Stability: The runtime layer is self-managing. It starts on first use and shuts down after idleness to save resources.
- ⚡ Chained Execution: Advanced workflows supported! Codex can autonomously call
oaskto delegate sub-tasks to OpenCode models. - 🛑 Smart Interruption: Gemini tasks now support intelligent interruption detection, automatically handling stops and ensuring workflow continuity.
| Feature | Codex | Gemini | OpenCode |
|---|---|---|---|
| Parallel Queue | ✅ | ✅ | ✅ |
| Interruption Awareness | ✅ | ✅ | - |
| Response Isolation | ✅ | ✅ | ✅ |
📊 View Real-world Stress Test Results
Scenario 1: Claude & Codex Concurrent Access to OpenCode Both agents firing requests simultaneously, perfectly coordinated by the daemon.
| Source | Task | Result | Status |
|---|---|---|---|
| 🤖 Claude | CLAUDE-A |
CLAUDE-A | 🟢 |
| 🤖 Claude | CLAUDE-B |
CLAUDE-B | 🟢 |
| 💻 Codex | CODEX-A |
CODEX-A | 🟢 |
| 💻 Codex | CODEX-B |
CODEX-B | 🟢 |
Scenario 2: Recursive/Chained Calls Codex autonomously driving OpenCode for a 5-step workflow.
| Request | Exit Code | Response |
|---|---|---|
| ONE | 0 |
CODEX-ONE |
| TWO | 0 |
CODEX-TWO |
| THREE | 0 |
CODEX-THREE |
| FOUR | 0 |
CODEX-FOUR |
| FIVE | 0 |
CODEX-FIVE |
Step 1: Use a tmux-capable environment (tmux on Linux/macOS/WSL)
Step 2: Choose installer based on your environment:
Linux
git clone https://github.com/bfly123/claude_code_bridge.git
cd claude_code_bridge
./install.sh installmacOS
git clone https://github.com/bfly123/claude_code_bridge.git
cd claude_code_bridge
./install.sh installNote: If commands not found after install, see macOS Troubleshooting.
WSL (Windows Subsystem for Linux)
Use this if your Claude/Codex/Gemini runs in WSL.
⚠️ WARNING: Do NOT install or run ccb as root/administrator. Switch to a normal user first (su - usernameor create one withadduser).
# Run inside WSL terminal (as normal user, NOT root)
git clone https://github.com/bfly123/claude_code_bridge.git
cd claude_code_bridge
./install.sh installWindows Native
Use this if your Claude/Codex/Gemini runs natively on Windows.
Native Windows mux runtime is being redesigned around
psmux. The stable split-pane path in this branch is still Linux/macOS/WSL +tmux.
git clone https://github.com/bfly123/claude_code_bridge.git
cd claude_code_bridge
powershell -ExecutionPolicy Bypass -File .\install.ps1 install- The installer prefers
pwsh.exe(PowerShell 7+) when available, otherwisepowershell.exe.
ccb # Start default agents from .ccb/ccb.config
ccb -s # Safe start: keep configured/manual permission behavior
ccb -n # Rebuild .ccb except ccb.config, then start fresh
ccb kill # Stop this project's background runtime
ccb kill -f # Force cleanup before rebuilding state
tmux tip: CCB's tmux status/pane theming is enabled only while CCB is running.
tmux tip: press `Ctrl+b` then `Space` to cycle tmux layouts. You can press it repeatedly to keep switching layouts.
Layout rule: the last selected agent runs in the current pane. Extras are ordered by the selected target list; the first extra goes to the top-right, then the left column fills top-to-bottom, then the right column fills top-to-bottom.
Note: `ccb up` is removed; use `ccb ...` with `.ccb/ccb.config`.| Flag | Description | Example |
|---|---|---|
-s |
Safe start; disable CLI auto-permission override | ccb -s |
-n |
Rebuild .ccb except ccb.config, then start fresh |
ccb -n |
-h |
Show help information | ccb -h |
-v |
Show version and check for updates | ccb -v |
Default lookup order:
.ccb/ccb.config(project)~/.ccb/ccb.config(global)
Compact format only:
writer:codex,reviewer:claude
Enable cmd pane (default title/command):
agent1:codex,agent2:codex,agent3:claude,cmd
Rules:
- Each agent entry must be
agent_name:provider. cmdis a reserved standalone token for the shell pane, not an agent name.;splits panes horizontally from left to right.,splits panes vertically from top to bottom.(...)groups part of the layout explicitly.- Each agent entry expands to fixed defaults:
target='.',workspace_mode='inplace',restore='auto',permission='manual'. - Use
agent_name:provider(worktree)when you want that agent isolated in its own git worktree. - Missing project config is auto-created as
codex:codex,claude:claude. - Cmd pane participates in the layout as the first extra pane and does not change which AI runs in the current pane.
CCB v6 currently supports ccb update only on Linux/WSL. A major upgrade fully replaces the installed runtime. On the first ccb inside an older project, CCB preserves .ccb/ccb.config, clears the rest of the old .ccb state, and rebuilds locally.
ccb update # Update to the latest stable release
ccb update 6 # Update to the highest v6.x.x version
ccb update 6.0 # Update to the highest v6.0.x version
ccb update 6.0.4 # Update to a specific version
ccb uninstall # Uninstall ccb and clean configs
ccb reinstall # Clean then reinstall ccb🪟 Windows Environment Guide
Key Point:
ccband the underlying agent CLIs must run in the same environment. The most common issue is environment mismatch causing project startup or agent attach to fail.
Note: The installers also install OS-specific SKILL.md variants for Claude/Codex skills:
- Linux/macOS/WSL: bash heredoc templates (
SKILL.md.bash) - Native Windows: PowerShell here-string templates (
SKILL.md.powershell)
- The active multi-pane runtime in this branch is
tmuxonly. - Stable split-pane usage today means Linux/macOS/WSL with
tmux. - Native Windows mux support is being redesigned around
psmux; see docs/ccbd-windows-psmux-plan.md.
Determine based on how you installed/run Claude Code/Codex:
-
WSL Environment
- You installed/run via WSL terminal (Ubuntu/Debian) using
bash(e.g.,curl ... | bash,apt,pip,npm) - Paths look like:
/home/<user>/...and you may see/mnt/c/... - Verify:
cat /proc/version | grep -i microsofthas output, orecho $WSL_DISTRO_NAMEis non-empty
- You installed/run via WSL terminal (Ubuntu/Debian) using
-
Native Windows Environment
- You installed/run via Windows Terminal / PowerShell / CMD (e.g.,
winget, PowerShell scripts) - Paths look like:
C:\Users\<user>\...
- You installed/run via Windows Terminal / PowerShell / CMD (e.g.,
- If you want the stable split-pane/runtime supervision path, run
ccband all agent CLIs inside WSL, then usetmux. - If your tools currently run natively on Windows, keep that environment consistent, but treat native split-pane orchestration as transitional until
psmuxlands.
- Most common: Environment mismatch (ccb in WSL but codex in native Windows, or vice versa)
- tmux not available: Install
tmuxin the environment where you runccb - Terminal not refreshed: Restart the shell after installation so PATH changes are visible
🍎 macOS Installation Guide
If ccb is not found after running ./install.sh install:
Cause: The install directory (~/.local/bin) is not in your PATH.
Solution:
# 1. Check if install directory exists
ls -la ~/.local/bin/
# 2. Check if PATH includes the directory
echo $PATH | tr ':' '\n' | grep local
# 3. Check shell config (macOS defaults to zsh)
cat ~/.zshrc | grep local
# 4. If not configured, add manually
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
# 5. Reload config
source ~/.zshrcIf a shell started inside tmux cannot find ccb commands but a regular Terminal can:
- tmux may be starting a different shell init path
- Add PATH to
~/.zprofileas well:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zprofileThen restart the tmux server completely:
tmux kill-serverOnce started, collaborate naturally. Claude will detect when to delegate tasks.
Common Scenarios:
- Code Review: "Have Codex review the changes in
main.py." - Second Opinion: "Ask Gemini for alternative implementation approaches."
- Pair Programming: "Codex writes the backend logic, I'll handle the frontend."
- Architecture: "Let Codex design the module structure first."
- Info Exchange: "Fetch 3 rounds of Codex conversation and summarize."
"Let Claude, Codex and Gemini play Dou Di Zhu! You deal the cards, everyone plays open hand!"
🃏 Claude (Landlord) vs 🎯 Codex + 💎 Gemini (Farmers)
Note: The public project runtime workflow in CCB v6 is intentionally small:
ccb,ccb -s,ccb -n,ccb kill, andccb kill -f. Internal control-plane commands still exist for agent-side orchestration, but they are not part of the user-facing startup/reset surface.
The public project runtime workflow in CCB v6 is intentionally reduced to five primary commands:
ccb- Default start path; launch agents defined by.ccb/ccb.configccb -s- Safe start; keep each agent's configured/default permission behaviorccb -n- Rebuild project.ccbstate exceptccb.config, then start fresh with confirmationccb kill- Stop the current project's runtimeccb kill -f- Force cleanup project-owned runtime residue beforeccb -n- Also works as a recovery path when
.ccbexists butccb.configis missing or stale
- Also works as a recovery path when
Internal control-plane commands still exist for model-side orchestration and automation, but they are intentionally not presented here as public user commands.
- Linux/macOS/WSL: Uses
tmuxas terminal backend - Native Windows: Mux runtime is being redesigned around
psmux; this branch no longer ships a parallel legacy native backend
- Notifies caller upon task completion
- Supports caller-targeted completion notifications (
claude/codex/droid) - Compatible with the tmux backend used by the current branch
- Foreground ask suppresses the hook unless
CCB_COMPLETION_HOOK_ENABLEDis set
- /all-plan: Collaborative multi-AI design with Superpowers brainstorming.
/all-plan details & usage
Usage:
/all-plan <requirement>
Example:
/all-plan Design a caching layer for the API with Redis
How it works:
- Requirement Refinement - Socratic questioning to uncover hidden needs
- Parallel Independent Design - Each AI designs independently (no groupthink)
- Comparative Analysis - Merge insights, detect anti-patterns
- Iterative Refinement - Cross-AI review and critique
- Final Output - Actionable implementation plan
Key features:
- Socratic Ladder: 7 structured questions for deep requirement mining
- Superpowers Lenses: Systematic alternative exploration (10x scale, remove dependency, invert flow)
- Anti-pattern Detection: Proactive risk identification across all designs
When to use:
- Complex features requiring diverse perspectives
- Architectural decisions with multiple valid approaches
- High-stakes implementations needing thorough validation
The legacy mail subsystem has been removed from the repo. The current runtime is project-scoped around .ccb/ccb.config, and old runtime state can be cleared and rebuilt.
Combine with editors like Neovim for seamless code editing and multi-model review workflow. Edit in your favorite editor while AI assistants review and suggest improvements in real-time.
- Python 3.10+
- Terminal:
tmux
ccb uninstall
ccb reinstall
# Fallback:
./install.sh uninstallStable runtime: Linux/macOS/WSL + tmux
Native Windows mux: planned around psmux
Join our community
📧 Email: bfly123@126.com 💬 WeChat: seemseam-com
Version History
- Zombie Cleanup:
ccb kill -fcleans up orphaned tmux sessions globally - Mounted Skill: Optimized with
pgrep, extracted toccb-mountedscript - Droid Skills: Full skill set added to
droid_skills/
- Droid: Add delegation tools (
ccb_ask_*andcask/gask/lask/oask) plusccb droid setup-delegationfor MCP install
- OpenCode: 修复
-r恢复在多项目切换后失效的问题
- Daemons: 全新的稳定守护进程设计
- Skills: New
/all-planwith Superpowers brainstorming + availability gating; Codexlping/lpendadded;gaskkeeps brief summaries withCCB_DONE. - Status Bar: Role label now reads role name from
.autoflow/roles.json(supports_meta.name) and caches per path. - Installer: Copy skill subdirectories (e.g.,
references/) for Claude/Codex installs. - CLI: Added
ccb uninstall/ccb reinstallwith Claude config cleanup. - Routing: Tighter project/session resolution (prefer
.ccbanchor; avoid cross-project Claude session mismatches).
- Claude Independence: No need to start Claude first; Codex (or any agent) can be the primary CLI
- Unified Control: Single entry point controls Claude/OpenCode/Gemini equally
- Simplified Launch: Removed
ccb up; defaultccb.configis auto-created when missing - Flexible Mounting: More flexible pane mounting and session binding
- Project askd Autostart: project askd and provider runtimes auto-start in the project tmux namespace when needed
- Session Robustness: PID liveness checks prevent stale sessions
- Codex Config: Automatically migrate deprecated
sandbox_mode = "full-auto"to"danger-full-access"to fix Codex startup - Stability: Fixed race conditions where fast-exiting commands could close panes before
remain-on-exitwas set - Tmux: More robust pane detection (prefer stable
$TMUX_PANEenv var) and better fallback when split targets disappear
- Performance: Added caching for tmux status bar (git branch & ccb status) to reduce system load
- Strict Tmux: Explicitly require
tmuxfor auto-launch; removed error-prone auto-attach logic - CLI: Added
--print-versionflag for fast version checks
- CLI Fix: Improved flag preservation (e.g.,
-a) when relaunchingccbin tmux - UX: Better error messages when running in non-interactive sessions
- Install: Force update skills to ensure latest versions are applied
- Async Guardrail:
cask/gask/oaskprints a post-submit guardrail reminder for Claude - Sync Mode: add
--syncto suppress guardrail prompts for Codex callers - Codex Skills: update
oask/gaskskills to wait silently with--sync
- Project_ID Simplification:
ccb_project_iduses current-directory.ccb/anchor (no ancestor traversal, no git dependency) - Codex Skills Stability: Codex
oask/gaskskills default to waiting (--timeout -1) to avoid sending the next task too early
- Codex Log Binding Refresh: the Codex runtime now periodically refreshes
.codex-sessionlog paths by parsingstart_cmdand scanning latest logs - Tmux Clipboard Enhancement: Added
xselsupport andupdate-environmentfor better clipboard integration across GUI/remote sessions
- Tmux Status Bar Redesign: Dual-line status bar with modern dot indicators (●/○), git branch, and CCB version display
- Session Freshness: Always scan logs for latest session instead of using cached session file
- Simplified Auto Mode (Historical): auto-permission behavior was consolidated into the current primary start flow
- Session Overrides:
cping/gping/oping/cpend/opendsupport--session-file/CCB_SESSION_FILEto bypass wrongcwd
- Gemini Reliability: Retry reading Gemini session JSON to avoid transient partial-write failures
- Claude Code Reliability:
gpendsupports--session-file/CCB_SESSION_FILEto bypass wrongcwd
- Fix: Auto-repair duplicate
[projects.\"...\"]entries in~/.codex/config.tomlbefore starting Codex
- Project Cleanliness: Store session files under
.ccb/(fallback to legacy root dotfiles) - Claude Code Reliability:
cask/gask/oasksupport--session-file/CCB_SESSION_FILEto bypass wrongcwd - Codex Config Safety: Write auto-approval settings into a CCB-marked block to avoid config conflicts
- Clipboard Paste: Cross-platform support (xclip/wl-paste/pbpaste) in tmux config
- Install UX: Auto-reload tmux config after installation
- Stability: Default TMUX_ENTER_DELAY set to 0.5s for better reliability
- Tokyo Night Theme: Switch tmux status bar and pane borders to Tokyo Night color palette
- Full Refactor: Rebuilt from the ground up with a cleaner architecture
- Perfect tmux Support: First-class splits, pane labels, borders and statusline
- Works in Any Terminal: Recommended to run everything in tmux (except native Windows)
- Smart Runtime Queue: project askd with 60s idle timeout and provider queue support
- Cross-AI Collaboration: Support multiple agents (Claude/Codex) calling one agent (OpenCode) simultaneously
- Interruption Detection: Gemini now supports intelligent interruption handling
- Chained Execution: Codex can call
oaskto drive OpenCode - Stability: Robust queue management and lock files
- Fix oask session tracking bug - follow new session when OpenCode creates one
- Plan mode enabled for autoflow projects regardless of
-aflag
- Per-directory lock: different working directories can run cask/gask/oask independently
- Add non-blocking lock for cask/gask/oask to prevent concurrent requests
- Unify oask with cask/gask logic (use _wait_for_complete_reply)
- Fix plan mode conflict with auto mode (--dangerously-skip-permissions)
- Fix oask returning stale reply when OpenCode still processing
- Auto-enable plan mode when autoflow is installed
- Simplify cping.md to match oping/gping style (~65% token reduction)
- Optimize skill files: extract common patterns to docs/async-ask-pattern.md (~60% token reduction)
- Fix race condition in gask/cask: pre-check for existing messages before wait loop



