by bfly123
Real-time multi-AI collaboration: Claude, Codex & Gemini with persistent context, minimal token overhead
# Add to your Claude Code skills
git clone https://github.com/bfly123/claude_codex_bridgeLast scanned: 4/29/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-04-29T06:23:23.818Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}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.
ccb start, restore, and attach CCB in the project directory from the terminalccb -s safe modeccb -n rebuild the project .ccb stateccb kill close CCBccb kill -f deep-clean exitInside 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:
ask all for one-shot broadcast or global syncask agent_name for targeted delegationask themselves, and skills are currently auto-installed into Codex, Claude, and other providerspend and watch are secondary toolsccb 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:provider defines one agent. agent_name is also the pane label and logical runtime name.cmd adds one shell pane.; splits panes horizontally from left to right., splits panes vertically from top to bottom.inplace. If one agent needs an isolated git worktree to avoid conflicts, write agent_name:provider(worktree).Example:
cmd; writer:codex, reviewer:claude; qa:gemini(worktree)
This layout means:
cmdwriterreviewer and qaqa runs in an isolated git worktree; writer and reviewer run inplace in the main projectHistorical 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.
.codeisland/ when inherited Claude hooks call $HOME/.codeisland/..., preventing missing-hook failures inside isolated Claude homes.codeisland/ provider-state assets while still including ordinary managed Claude settings for support.ccb/agents/*/provider-state/*/home as an isolated runtime home, not the user's source home, so official browser-login credentials are copied from the real account home.claude/.credentials.json while retaining compatibility with .config/claude-code/auth.json.claude/.credentials.json, so browser-login-backed auth can be inherited into isolated CCB runtimes instead of only API-token-based settings authAfterAgent hooks that fire with an empty reply now downgrade to incomplete instead of terminalizing as a false exact completioncompleted hook artifacts with no reply text, allowing observed session-stability or timeout reliability paths to converge the request instead of accepting a blank terminal resultGOOGLE_GEMINI_BASE_URL end to end, so custom endpoint and proxy-backed Gemini CLI setups no longer fall back to Google's default production API hostGEMINI_MODEL, allowing isolated Gemini agents to keep explicit model selection instead of silently dropping it at startupkey / url shortcuts now materialize the same environment variables the current Gemini CLI actually reads, keeping explicit config-based routes aligned with shell-level env behavior.tmp/plugins/ and .tmp/plugins.sha, so isolated agents inherit the marketplace catalog and installed plugin assets they actually need instead of starting with plugin-enabled config but missing bundlescmd pane now directly execs the resolved user shell and preserves ordinary user-session transport variables such as DISPLAY, WAYLAND_DISPLAY, DBUS_SESSION_BUS_ADDRESS, XAUTHORITY, and SSH_AUTH_SOCK, improving fish/zsh and GUI-command compatibilityconfig.toml and auth.json as the sole authority for explicit key / url routes, so agent-scoped API overrides replace inherited global provider routes instead of drifting back to system configsessions/ namespaces before launch when the bound route no longer matchesccb startup now seeds tmux namespace creation from the real terminal viewport and issues a best-effort client refresh after attach so first paint matches the current terminal size without manual redrawNo comments yet. Be the first to share your thoughts!