New Multi-Model Collaboration Tool via Split-Pane Terminal Claude & Codex & Gemini & OpenCode & Droid Ultra-low token real-time communication, unleashing full CLI power
English | Chinese
Introduction: Multi-model collaboration effectively avoids model bias, cognitive blind spots, and context limitations. However, MCP, Skills and other direct API approaches have many limitations. This project offers a new WYSIWYG solution.
| Feature | Benefit |
|---|---|
| 🖥️ Visual & Controllable | Multiple AI models in split-pane CLI. See everything, control everything. |
| 🧠 Persistent Context | Each AI maintains its own memory. Close and resume anytime (-r flag). |
| 📉 Token Savings | Sends lightweight prompts instead of full file history. |
| 🪟 Native Workflow | Integrates directly into WezTerm (recommended) or tmux. No complex servers required. |
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. - Daemon Autostart:
caskd/laskdauto-start in WezTerm/tmux 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 Backend Abstraction: Unified terminal layer (
TmuxBackend/WeztermBackend) with auto-detection and WSL path handling. - 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 (except native Windows; WezTerm recommended; otherwise just use tmux).
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. The new daemons (
caskd,gaskd,oaskd) automatically 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 unified daemon layer.
- 🛡️ Bulletproof Stability: Daemons are self-managing—they start automatically on the first request and shut down after 60s of 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 | caskd (Codex) |
gaskd (Gemini) |
oaskd (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 |
Unlock the full potential of ccb with CCA — an advanced workflow automation system built on top of this bridge.
- Workflow Automation: Intelligent task assignment and automated state management.
- Seamless Integration: Native support for the v3.0 daemon architecture.
Install via CCB:
ccb update ccaStep 1: Install WezTerm (native .exe for Windows)
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.
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. - If a WezTerm config exists, the installer will try to set
config.default_progto PowerShell (adds a-- CCB_WEZTERM_*block and will prompt before overriding an existingdefault_prog).
ccb # Start providers from ccb.config (default: all four)
ccb codex gemini # Start both
ccb codex gemini opencode claude # Start all four (spaces)
ccb codex,gemini,opencode,claude # Start all four (commas)
ccb -r codex gemini # Resume last session for Codex + Gemini
ccb -a codex gemini opencode # Auto-approval mode with multiple providers
ccb -a -r codex gemini opencode claude # Auto + resume for all providers
tmux tip: CCB's tmux status/pane theming is enabled only while CCB is running.
Layout rule: the last provider runs in the current pane. Extras are ordered as `[cmd?, reversed providers]`; the first extra goes to the top-right, then the left column fills top-to-bottom, then the right column fills top-to-bottom. Examples: 4 panes = left2/right2, 5 panes = left2/right3.
Note: `ccb up` is removed; use `ccb ...` or configure `ccb.config`.| Flag | Description | Example |
|---|---|---|
-r |
Resume previous session context | ccb -r |
-a |
Auto-mode, skip permission prompts | ccb -a |
-h |
Show help information | ccb -h |
-v |
Show version and check for updates | ccb -v |
Default lookup order:
.ccb_config/ccb.config(project)~/.ccb/ccb.config(global)
Simple format (recommended):
codex,gemini,opencode,claude
Enable cmd pane (default title/command):
codex,gemini,opencode,claude,cmd
Advanced JSON (optional, for flags or custom cmd pane):
{
"providers": ["codex", "gemini", "opencode", "claude"],
"cmd": { "enabled": true, "title": "CCB-Cmd", "start_cmd": "bash" },
"flags": { "auto": false, "resume": false }
}Cmd pane participates in the layout as the first extra pane and does not change which AI runs in the current pane.
ccb update # Update ccb to the latest version
ccb update 4 # Update to the highest v4.x.x version
ccb update 4.1 # Update to the highest v4.1.x version
ccb update 4.1.2 # Update to specific version v4.1.2
ccb update cca # Update CCA (Claude Code Autoflow) only
ccb uninstall # Uninstall ccb and clean configs
ccb reinstall # Clean then reinstall ccb🪟 Windows Installation Guide (WSL vs Native)
Key Point:
ccb/cask/cping/cpendmust run in the same environment ascodex/gemini. The most common issue is environment mismatch causingcpingto 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)
- Install Windows native WezTerm (
.exefrom official site or via winget), not the Linux version inside WSL. - Reason:
ccbin WezTerm mode relies onwezterm clito manage panes.
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 / WezTerm / PowerShell / CMD (e.g.,
winget, PowerShell scripts) - Paths look like:
C:\Users\<user>\...
- You installed/run via Windows Terminal / WezTerm / PowerShell / CMD (e.g.,
Edit WezTerm config (%USERPROFILE%\.wezterm.lua):
local wezterm = require 'wezterm'
return {
default_domain = 'WSL:Ubuntu', -- Replace with your distro name
}Check distro name with wsl -l -v in PowerShell.
- Most common: Environment mismatch (ccb in WSL but codex in native Windows, or vice versa)
- Codex session not running: Run
ccb codex(or add codex to ccb.config) first - WezTerm CLI not found: Ensure
weztermis in PATH - Terminal not refreshed: Restart WezTerm after installation
- Text sent but not submitted (no Enter) on Windows WezTerm: Set
CCB_WEZTERM_ENTER_METHOD=keyand ensure your WezTerm supportswezterm cli send-key
🍎 macOS Installation Guide
If ccb, cask, cping commands are 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 WezTerm cannot find ccb commands but regular Terminal can:
- WezTerm may use a different shell config
- Add PATH to
~/.zprofileas well:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zprofileThen restart WezTerm completely (Cmd+Q, reopen).
Once 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: Manual commands (like
cask,cping) are usually invoked by Claude automatically. See Command Reference for details.
| Command | Description |
|---|---|
/cask <msg> |
Background mode: Submit task to Codex, free to continue other tasks (recommended) |
cpend [N] |
Fetch Codex conversation history, N controls rounds (default 1) |
cping |
Test Codex connectivity |
| Command | Description |
|---|---|
/gask <msg> |
Background mode: Submit task to Gemini |
gpend [N] |
Fetch Gemini conversation history |
gping |
Test Gemini connectivity |
| Command | Description |
|---|---|
/oask <msg> |
Background mode: Submit task to OpenCode |
opend [N] |
Fetch OpenCode conversation history |
oping |
Test OpenCode connectivity |
| Command | Description |
|---|---|
/dask <msg> |
Background mode: Submit task to Droid |
dpend [N] |
Fetch Droid conversation history |
dping |
Test Droid connectivity |
🚀 Delegation Power: Droid can now orchestrate other AIs (Codex, Gemini, OpenCode, Claude).
Run ccb droid setup-delegation to install the necessary skills and tools into Droid.
Once setup, Droid can use CCB delegation tools (e.g. cask/gask/lask/oask or ccb_ask_*) to delegate tasks in the background.
- /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
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: WezTerm (Highly Recommended) or tmux
ccb uninstall
ccb reinstall
# Fallback:
./install.sh uninstallWindows fully supported (WSL + Native via WezTerm)
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. - CCA Status Bar: CCA 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
.ccb_configanchor; 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
- Daemon Autostart:
caskd/laskdauto-start in WezTerm/tmux 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_config/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
- Daemon Log Binding Refresh:
caskddaemon 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, CCA status, and CCB version display
- Session Freshness: Always scan logs for latest session instead of using cached session file
- Simplified Auto Mode: Removed CCA detection logic from
ccb -a, now purely uses--dangerously-skip-permissions
- 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_config/(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
- CCA Detection: Improved install directory inference for various layouts
- 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 Daemons:
caskd/gaskd/oaskdwith 60s idle timeout & parallel 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
- Simplify CCA detection: check for
.autoflowfolder in current directory - Plan mode enabled for CCA 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 CCA (Claude Code 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



