/opencode.
Why use OpenCode clients with Sandbox Agent?
- OpenCode CLI (
opencode attach) - OpenCode web UI
- OpenCode TypeScript SDK (
@opencode-ai/sdk)
Quick start
OpenCode CLI / TUI
OpenCode web UI
OpenCode SDK
Notes
- API base path:
/opencode - If server auth is enabled, pass bearer auth (or
--passwordin OpenCode CLI) - For browser UIs, configure CORS with
--cors-allow-origin - Provider selector currently exposes compatible providers (
mock,amp,claude,codex) - Provider/model metadata for compatibility endpoints is normalized and may differ from native OpenCode grouping
- Optional proxy: set
OPENCODE_COMPAT_PROXY_URLto forward selected endpoints to native OpenCode
Endpoint coverage
Endpoint Status Table
Endpoint Status Table
| Endpoint | Status | Notes |
|---|---|---|
GET /event | ✓ | Session/message updates (SSE) |
GET /global/event | ✓ | GlobalEvent-wrapped stream |
GET /session | ✓ | Session list |
POST /session | ✓ | Create session |
GET /session/{id} | ✓ | Session details |
POST /session/{id}/message | ✓ | Send message |
GET /session/{id}/message | ✓ | Session messages |
GET /permission | ✓ | Pending permissions |
POST /permission/{id}/reply | ✓ | Permission reply |
GET /question | ✓ | Pending questions |
POST /question/{id}/reply | ✓ | Question reply |
GET /provider | ✓ | Provider metadata |
GET /command | ↔ | Proxied when OPENCODE_COMPAT_PROXY_URL is set; otherwise stub |
GET /config | ↔ | Proxied when set; otherwise stub |
PATCH /config | ↔ | Proxied when set; otherwise local compatibility behavior |
GET /global/config | ↔ | Proxied when set; otherwise stub |
PATCH /global/config | ↔ | Proxied when set; otherwise local compatibility behavior |
/tui/* | ↔ | Proxied when set; otherwise local compatibility behavior |
GET /agent | − | Agent list |
| other endpoints | − | Empty/stub responses |