Open Cowork¶
A desktop AI workspace built on OpenCode. Configurable, brandable, automation-ready, and engineered like a public product — not a demo.
What it is¶
Open Cowork is the desktop 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 — UI, branding, packaging, automations, sandbox UX, 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 automations.
Core capabilities¶
-
Project & sandbox threads
Real-filesystem project threads for code work. Private, Cowork-managed sandbox threads for reports, drafts, and artifacts — no risk of polluting your repo.
-
Review-first automations
A durable control plane for scheduled work. Inbox, work items, runs, deliveries, retry, and heartbeat — wrapped around the same OpenCode
plan/buildagents you already trust. -
Built-in & custom MCPs
Ships with a
chartsMCP (18+ Vega-Lite + Mermaid tools) and askillsMCP. 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 likechart-creator, ship your own as part of a downstream distribution, or author them from chat withskill-creator. -
Sub-agent delegation
Use
@agentin chat to invoke specialist sub-agents. Custom agents 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 binary, distinct product.
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 | Automations → Automation Recipes |
| Downstream distributor | Ship a branded internal build | Configuration → Downstream Customization |
| Contributor | Land my first PR | First Contribution → Architecture |
| Operator / release manager | Cut a release, run the gates | Operations and CI → Release Checklist |
| Security reviewer | Confirm the threat model holds | Security Model → Telemetry and Privacy |
Install¶
Download the latest .dmg from GitHub Releases, drag to /Applications, and launch.
v0.0.0 is an unsigned public preview; signed macOS builds are planned from v0.0.1.
Download the .AppImage (portable) or .deb (Debian / Ubuntu).
node -v
# Expected: v22.12.0 or newer
corepack enable
corepack prepare pnpm@10.32.1 --activate
pnpm -v
pnpm install
pnpm dev # builds shared + 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, session eviction, dashboard backfill — all with a
pnpm perf:checkbaseline that runs in CI on every PR. -
Roadmap, in the open
Three-phase plan, explicit non-goals, transparent list of deferred work (a11y, i18n, versioned docs, in-app updates). No surprises.
What this is — and isn't¶
| ✅ This is | ❌ This isn't |
|---|---|
| A polished desktop product layer on top of OpenCode | A second AI runtime |
| A configurable, brandable shell for internal builds | A SaaS — everything runs locally |
A durable scheduler around OpenCode plan / build | A new agent framework |
| A fork-friendly source you can rebrand without touching the code | A black box |
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.