Your agents in parallel, in a graph you can fly through.
Cubito is a 3D development environment for coding agents. Every worktree is a node, every fan-out is a litter of branches growing in space, and every agent lives in the scene with its real terminal.
Features
Your project is a graph
Every worktree is a node in a navigable 3D scene. Which branch spawned which stops being hidden metadata and becomes an edge you can follow with the camera.
Agents live in the scene
Every node carries its terminal: real PTYs, streamed over RPC and rendered inside the world. A pulsing amber cube is an agent waiting for your answer, impossible to ignore.
One litter, one prompt
From any node, fan out: N child worktrees are born in parallel, each with its own agent, comparable side by side. Look at the litter, pick the winner, merge it.
One daemon, one RPC, one scene.
orcad runs in the background
It is ORCA's headless runtime, no Electron. It registers repos, creates worktrees with parent → child lineage, keeps PTY terminals alive across restarts and coordinates multi-agent runs in SQLite.
Cubito talks to it over WebSocket
A versioned RPC with an {id, ok, result | error} envelope and keepalives, across four namespaces: worktree.*, terminal.*, git.* and orchestration.*. The runtime is the source of truth: the scene resyncs on reconnect.
The scene makes it spatial
Three.js draws every worktree as a cube and every lineage as an edge. Agent state lives in the color: blue working, amber waiting for input, grey idle. Pairing with the daemon is E2EE straight from the browser.
Restart the daemon. The graph is still there.
Cubito doesn't reinvent orchestration. It runs orcad, the headless runtime extracted from ORCA, as a background daemon and talks to it over its versioned RPC. Repos, worktrees with lineage, PTYs that survive restarts and multi-agent runs are already solved. Cubito makes them spatial.
$
node out/orcad/orcad.js --bind 127.0.0.1 --json
● orcad listening · runtime 4f2a9c
$
orca worktree create --name auth-retry --agent claude
… checkout · setup · agent launched
$
kill -HUP orcad && node out/orcad/orcad.js
● restoring 6 nodes…
✓
lineage main → auth-retry — intact
✓
pty claude — reattached
From the fork to the first graph.
Cubito does not start from zero: it is born from ORCA, Stably AI's agent orchestrator, MIT licensed. We kept the engine and changed the window.
10,461
files pruned: Electron shell, desktop renderer, mobile apps and relay.
5.6 MB
is the headless orcad bundle, with zero Electron imports, checked in CI.
30+
CLI agents the engine already orchestrates: Claude Code, Codex, OpenCode and more.
E2EE
browser ↔ orcad pairing validated end to end against a real daemon in Docker.
upstream
full ORCA history retained: the engine stays mergeable.
in progress
the 3D scene: graph layout, camera, terminals rendered as textures.