Open Cowork¶
An OpenCode product layer for Desktop, Cloud, Gateway, and branded downstream deployments. Configurable, sync-aware, and engineered like a public product, not a demo.
What it is¶
Open Cowork is the product layer built on top of OpenCode.
The split is deliberate and load-bearing:
- OpenCode executes — sessions, agents, approvals, MCP calls, tool semantics, event streams.
- Open Cowork composes — Desktop, Cloud, Gateway, UI, branding, packaging, workflows, sync, policy, and downstream config.
That boundary is what lets you embed the same battle-tested runtime that the OpenCode CLI uses, while still shipping a distinct product with your own branding, providers, skills, and workflows.
Core capabilities¶
-
Project & sandbox chats
Real-filesystem project chats for code work. Private, Cowork-managed sandbox chats for reports, drafts, and artifacts — no risk of polluting your repo.
-
:material-view-kanban:{ .lg } Projects coordination board
Organize objectives and Kanban tasks, assign coworkers, and open the linked work chats that carry each task forward. The compact sidebar recent-chat list handles quick switching.
-
Review-first playbooks
Repeatable tasks created from a Workflow Designer setup chat, then run manually, on a schedule, or from a webhook through the same OpenCode agents you already trust.
-
Built-in & custom MCPs
The configured catalog combines bundled MCPs for coworker authoring, visualization, in-app knowledge proposals, approval-gated UI actions, skill management, repeatable workflow setup, and local time operations. The live Tools & Skills catalog is authoritative for an installed workspace. Add your own stdio or HTTP MCPs from Settings, with SSRF and shell-metacharacter policies enforced at save time.
-
Reusable skill bundles
Skills are folders with a
SKILL.mdentry point. Use bundled ones likeagent-creator,chart-creator,time-keep,workflow-creator,skill-creator, andautoresearch, ship your own as part of a downstream distribution, or author them from chat withskill-creator. -
Team coworker delegation
Use
@coworkerin chat to invoke specialist Team members. Custom coworkers compile down to native OpenCode agent definitions — no parallel execution layer, no hidden indirection. -
Downstream-ready packaging
Rebrand and reconfigure without forking. Three env vars rename the app; a config overlay ships your providers, skills, MCPs, and permissions. Same source, distinct product.
-
Cloud and Gateway surfaces
Cloud is the durable source of truth for shared workspaces. Gateway is the headless channel client for Telegram, Slack, email, webhooks, and future channels. Standalone Gateway remains a separate appliance mode.
Find your path¶
| Role | Goal | Start here |
|---|---|---|
| End user | Install the app, run my first session | Getting Started → Desktop App Guide |
| Power user | Schedule recurring work, build skills | Playbooks → Workflow Recipes |
| Downstream distributor | Ship a branded internal build | Configuration → Downstream Customization |
| Desktop contributor | Change Desktop UI/runtime composition | Desktop contributor path → First Contribution |
| Contributor (general) | Land my first PR | First Contribution → Architecture |
| Operator / release manager | Cut a release, run the gates | Operate docs map → Packaging and Releases |
| Security reviewer | Confirm the threat model holds | Security Model → Telemetry and Privacy |
Desktop contributor path¶
If you only touch Desktop (renderer, main process, local OpenCode composition), stay on this short path. You do not need the full Operate section for day-to-day work.
- Run the app — Getting Started / Development Environment
- Product surfaces — Desktop App Guide · Projects · Playbooks · Team · Tools & Skills
- Ownership boundaries — Architecture · Frontend Architecture · Design System
- Local checks —
pnpm typecheck && pnpm lint && pnpm test && pnpm test:renderer(see First Contribution) - Only when packaging Desktop — Packaging and Releases · Release Checklist · Verifying Releases
Skip Cloud deploy runbooks, hybrid security gates, SSO/SCIM, and managed-worker ops unless your change actually crosses those boundaries.
Operate docs map¶
The Operate nav is large on purpose: multi-authority production (Desktop, Cloud, Cloud Channel Gateway, Standalone Gateway) needs explicit gates. Prefer this map over copying prose between pages.
| When you need… | Canonical page | Related (link, do not duplicate) |
|---|---|---|
| Product names and package boundaries | Packaging and Gateway Product Modes | Versioning |
| Cloud control plane / workers | Open Cowork Cloud | Managed Workers · Cloud Gateway Registration |
| Which topology to run | Deployment Topologies | Gateway Appliance · Standalone Gateway |
| Production go / no-go gates | Deployment Readiness | Hybrid Security Gates · Launch Readiness |
| Cut a Desktop/Cloud release | Packaging and Releases | Release Checklist · Verifying Releases |
| Incidents, restore, BYOK, SSO | Runbooks under Operate | Backup and Restore · Managed BYOK SaaS · SSO and SCIM |
Production gates stay mandatory for operators; desktop-only contributors should use the Desktop contributor path instead of reading every Operate page.
Install¶
Download the latest .dmg from GitHub Releases, drag to /Applications, and launch.
The v0.x line is an unsigned public preview until signing is configured.
Download the .AppImage (portable) or .deb (Debian / Ubuntu).
Download the x64 .exe (NSIS installer) from GitHub Releases and run it.
The v0.x line is an unsigned public preview until Authenticode signing is configured; verify the checksum before running.
node -v
# Supported: v22.22.3 or newer; CI uses the exact .nvmrc version
corepack enable
corepack prepare pnpm@10.32.1 --activate
pnpm -v
pnpm install
pnpm dev # builds packages + design tokens + MCPs, then hot-reloads Electron + Vite
pnpm build # full build (shared + MCPs + desktop)
See Getting Started for prerequisites.
Engineered like a public project¶
-
Security model
Three-process Electron split, hand-audited preload bridge, fail-closed credential storage, MCP URL/stdio policies, sandboxed chart frame, SLSA provenance + SBOMs on every release.
-
Releases & supply chain
Signed macOS artifacts once signing is configured, SHA256 checksums, CycloneDX + SPDX SBOMs, SHA-pinned actions. Monthly maintenance probes paired OpenCode SDK/runtime updates against typecheck and tests.
-
Performance gate
Markdown patching, sidebar virtualization, and session indexing — all with a
pnpm perf:checkbaseline that runs in CI on every PR. -
Roadmap, in the open
A multi-authority roadmap with non-negotiable product promises, explicit non-goals, and a high bar for reintroducing deferred advanced workflow features. No surprises.
What this is — and isn't¶
| ✅ This is | ❌ This isn't |
|---|---|
| A polished product layer on top of OpenCode | A second AI runtime |
| A configurable, brandable source for Desktop, Cloud, and Gateway deployments | Lock-in to one hosted service |
| A durable control plane around OpenCode sessions, projections, workflows, and channels | A new agent framework |
| A fork-friendly source you can rebrand without touching the code | An implicit sync engine for local files, secrets, or host paths |
Read next¶
- Glossary — every term that shows up across these docs.
- Getting Started — install, sign in, run a session.
- Architecture — the layers, the invariants, and why they're invariants.
- Packaging and Gateway Product Modes — product names, Channel Gateway dual-tag, package boundaries. ADRs: partitions · privacy · Knowledge vs Wiki names, package boundaries, release channels, and Gateway product-mode policy.