OpenCode
// OpenCode web

OpenCode Web — the browser console for reviewers and auditors.

A read-only browser surface for the OpenCode agent, aimed at reviewers, team leads, and auditors who cannot install a binary on a sandboxed workstation. SSO-backed, transcript-driven, and pinned to the same wire protocol as the CLI.

Browser surface

OpenCode Web is the browser-hosted surface of the OpenCode platform. It renders agent transcripts, approval queues, and diff views in a read-only mode — no binary on the reviewer workstation, no shell access, no write path. The CLI on developer laptops remains canonical; OpenCode Web is the audit and approval surface.

Web vs CLI
CapabilityCLIWebNotes
Run plan / applyyesnoEditing remains on developer workstations
Read transcriptyes (stdout + file)yes (stream + replay)Same JSON envelope rendered to HTML
Approve / reject patchyesyesWeb writes a signed approval token, not the patch
SSOvia gatewaynative (SAML / OIDC)SCIM 2.0 group provisioning
Tool executionyesnoWeb cannot call shell, fs, or test tools
Air-gap friendlyyes (offline bundle)yes (self-host image)Self-hosted image ships signed
Mobile / tabletn/ayesiPadOS and Android evergreen

What OpenCode Web is, in one line.

OpenCode Web is a read-only browser console for the OpenCode agent. It is deliberately less powerful than the CLI, because its job is review, not editing.

Every session that runs in the CLI or the desktop app emits a structured transcript — plans, tool calls, diffs, approvals, reverts — as a stream of JSON events. OpenCode Web renders that stream in real time and stores a replayable copy for audit. The browser surface never touches a working tree, never runs a shell command, and never opens a model endpoint. If a reviewer approves a patch in OpenCode Web, the approval is a signed token handed back to the CLI; the CLI is what actually writes the patch.

Why the web console is read-only.

Read-only is a design decision, not a limitation. It is how OpenCode Web can live inside a locked-down browser on a sandboxed workstation without expanding the attack surface.

Many organizations run developer work on one laptop, review on another, and audit on a third locked-down device. A reviewer laptop may have no ability to install binaries, no shell access, and no network path to the model provider — but it has a browser and it has SSO. OpenCode Web is written for that device. It loads a transcript, renders a diff view, lets the reviewer approve or reject, and returns a signed token. Nothing in that loop requires write access to the repository or access to a model endpoint.

When to use OpenCode Web versus the CLI.

Use the CLI for active editing. Use OpenCode Web for review and audit. Both surfaces share a transcript format so the same session is visible in either place.

A typical flow starts on a developer laptop: the CLI plans a patch, runs tests, and writes the diff. The developer either commits locally or queues the patch for team review. A team lead opens OpenCode Web in a browser, sees the queued patch, replays the agent transcript, and either approves the patch as-is or asks for a revision. The approval token is signed by the lead's SSO identity, the CLI picks up the token on the developer's next run, and the patch is applied to the working tree. None of that flow requires a second binary on the reviewer's device.

Audit and incident replay.

OpenCode Web is also the right surface for incident response and audit. A stored transcript is a full reconstruction of an agent session.

Security teams responding to an incident can replay a session step by step: the prompts the developer issued, the tool calls the agent made, the diffs it produced, the approvals that unlocked each step. The replay is deterministic because the transcript is what actually happened — not a reconstruction. Storage is pluggable; teams point the self-hosted image at S3, MinIO, or Azure Blob Storage. Retention and redaction policies are configured per-tenant.

SSO, SCIM, and session tokens in OpenCode Web.

OpenCode Web authenticates through SAML 2.0 and OIDC identity providers. Okta, Azure AD, Google Workspace, and in-house IdPs are supported out of the box.

SCIM 2.0 provisions groups from the identity provider so a reviewer role in Okta maps to an approval permission in OpenCode Web. Session tokens are short-lived and bound to the browser fingerprint; a stolen cookie does not survive a device change. Admins can pin maximum session length, require re-authentication before approval, and export audit logs in a structured format suitable for a SIEM. Control mappings align to NIST SSDF 1.1 and to the posture documented on the trust and safety page.

Browser support.

OpenCode Web targets current evergreen browsers. Every stable OpenCode release is tested against the current major and the prior major of Chrome, Edge, Firefox, and Safari.

Mobile and tablet browsers — Safari on iPadOS, Chrome and Samsung Internet on Android — render the approval queue and transcript replay with the same layout as desktop. Older browsers that cannot run the evergreen build fall back to a degraded read-only view with transcript text and diff rendering, but no streaming. Enterprise browsers that lock down service workers fall into the same degraded mode automatically. This posture keeps OpenCode Web accessible on locked-down devices without forcing a browser upgrade.

Self-hosting OpenCode Web.

OpenCode Web is available as a signed container image. Teams that need to keep agent transcripts inside a private network deploy the image behind their usual reverse proxy.

The image terminates SSO, reads agent transcripts from a pinned object store, and speaks the same wire protocol as the CLI. Configuration is a single TOML file with the SSO provider, the object store credentials, and the retention policy. The image is signed with the release key, published with a CycloneDX SBOM and an SLSA level 3 build attestation, and runs on any Kubernetes 1.27+ cluster. Teams running in regulated environments cite code.gov referrals and the SSDF 1.1 mapping when presenting OpenCode Web to a security architect.

Offline posture.

A self-hosted OpenCode Web instance does not need outbound internet access. It reads transcripts from the object store you already trust.

That matters for air-gapped environments, regulated data zones, and test clusters. The self-hosted image never phones home, never fetches updates automatically, and never exfiltrates session content. Updates are explicit: download the next signed image, verify its signature with cosign, and roll the deployment through your normal change window. The audit trail on the deployment side is identical to any other internal service.

Open the web console.

Reviewers and auditors sign in through SSO, replay transcripts, and approve patches. No binary, no shell, no write path — just the agent session in a browser.

Reviewers on the console

Audit, approve, replay — without a binary on the device.

Self-hosting OpenCode Web on our internal cluster was an afternoon of work. The signed image, pinned object store, and SSO terminator worked on the first try.

— Leocadia M. Tricarico, Senior Backend Engineer, Verdigrove

I approve agent patches on an iPad during commute review. OpenCode Web renders a diff on a tablet better than any other tool we tried.

— Nikolaj P. Ravndalsvik, DevRel Engineer, Stoattide Labs
Web console FAQ

Questions reviewers ask before opening OpenCode Web.

Short answers aimed at reviewers, team leads, and auditors evaluating the OpenCode Web console against the CLI and the desktop app.

What is OpenCode Web?
A browser-based read-only console for the OpenCode agent. It renders transcripts, diffs, and approval queues from sessions that ran elsewhere, so reviewers and auditors do not need a binary on their workstation. The platform overview shows how it fits with the CLI and desktop app.
When should I use OpenCode Web instead of the CLI?
Use the CLI for editing and running tests. Use OpenCode Web for review, approval, audit, and incident replay. Approvals issued in the web console are signed tokens the CLI picks up on the developer's next run.
Does OpenCode Web support SSO?
Yes. SAML 2.0 and OIDC identity providers — Okta, Azure AD, Google Workspace, in-house IdPs — with SCIM 2.0 group provisioning and short-lived browser-bound session tokens. Audit logs export to any SIEM.
Which browsers does OpenCode Web support?
Current Chrome, Edge, Firefox, and Safari on desktop, plus Safari on iPadOS and Chrome on Android. Older browsers fall back to a degraded read-only view with full transcript text and diff rendering.
Can OpenCode Web be self-hosted?
Yes. A signed container image terminates SSO, reads transcripts from an object store, and runs behind your usual reverse proxy. The image ships with a CycloneDX SBOM and an SLSA level 3 build attestation — see trust and safety.