cc-oc — detached opencode sessions from inside claude code
2026·07 · archived · node · javascript
the itch
two ai coding agents, two terminals, zero shared context. i kept claude code open for the main thread and opencode for side quests — and kept alt-tabbing between them like it was 2009.
cc-oc is a claude code plugin that makes opencode a first-class citizen: five slash commands that spawn, wait on, debug, list and cancel detached opencode sessions without ever leaving the conversation.
the design call
v0.1 tried to be clever — mcp brokerage, config mirroring, model preflighting. v0.4.0 deleted all of it. the plugin is now a thin, always-detached pass-through: every flag goes straight to `opencode run`, every behaviour comes from opencode itself.
opencode's session db stays the source of truth; cc-oc keeps only a thin ledger of the sessions it spawned. zero npm dependencies, native node esm, nothing to configure.
the hard bug
the v0.1.2 critical fix: prompts reach the shell through a single-quoted heredoc envelope, so a prompt containing `$(rm -rf ~)` is data, not code. shell injection in a tool that pipes llm output into a shell is not a theoretical concern.
where the bridge went
archived in september 2026. conclave spawns an opencode child from any harness, not only from claude code, and pushes its result back into the parent's own inbox instead of making it poll. the detached spawn, the first-event probe, the thin ledger and the recovery guide all came along; the node runtime did not.
facts
status: archived · v0.8.2 · succeeded by conclave
runtime: node ≥ 18, zero npm deps
surface: 5 slash commands · 8 flags
distribution: claude code marketplace
license: MIT
links
github
← anfreire.dev · the interactive version needs javascript