Sessions
An isolated, disposable sandbox VM on a branch named after the session.
A session runs the agent in its own isolated sandbox. The platform cuts a branch named after the session id, provisions a sandbox VM with the repo cloned onto it, and runs OpenCode inside.
- Isolated — each session has its own VM and branch, so any number run at once (yours, teammates', automations) without interfering. None touch the default branch directly.
- Status —
provisioning → running → (stopped | failed). The branch is cut and the sandbox requested duringprovisioning;stoppedon explicit stop or idle hibernation. - Persistence — the sandbox FS is disposable (re-cloned each boot, torn down on stop/restart). Only what the agent commits and pushes survives, and only a merged change request lands it on the default branch.
Inside the VM the kortix-agent daemon clones to /workspace, supervises
OpenCode, and serves a control surface on port 8000 that the dashboard tunnels
into. A trigger fire is just an ordinary session. Full runtime detail —
status enum, injected env vars, daemon endpoints — is in
Session runtime.
Sandbox provider
Daytona is the platform default sandbox provider. A project can be pinned to
an alternate provider (currently Platinum) instead, which builds and hosts
the same layered image through a different backend — everything above
(branch-per-session, /workspace, the daemon, port 8000) behaves the same
regardless of provider. Pin or clear a project's provider with the SDK's
p.sandbox.setProvider(provider) (null follows the platform default); see
The client.