---
title: "OpenWork Desktop"
canonical: "https://canmyagentuse.com/atlas/surfaces/openwork-desktop"
contentKind: "harness"
locale: "en"
description: "OpenWork / OpenWork. Exact research surface: openwork-desktop."
llmSummary: "OpenWork / OpenWork. Exact research surface: openwork-desktop."
publishedAt: null
updatedAt: "2026-08-28T00:00:00.000Z"
verifiedAt: "2026-08-28"
tags: ["evidence-atlas", "research"]
---

# OpenWork Desktop

OpenWork / OpenWork. Exact research surface: openwork-desktop.

Research cutoff: 2026-08-28. Documentation and registry evidence are not runtime certification. Unknown means the package did not establish a defensible claim; it does not mean unsupported.

- Surface type: desktop-agent
- Version or observation: observed 2026-08-28
- Availability: ga
- Coverage tier: A
- Supported: 18
- Partial: 4
- Explicit unsupported: 3
- Unknown: 24

| Feature | Status | Evidence method | Conditions / notes | Sources |
| --- | --- | --- | --- | --- |
| [A2A agent/server role](/atlas/features/a2a-server) | Unknown | — | — | — |
| [A2A client role](/atlas/features/a2a-client) | Unknown | — | — | — |
| [ACP agent/server role](/atlas/features/acp-agent) | Unknown | — | — | — |
| [ACP client/host role](/atlas/features/acp-client) | Unknown | — | — | — |
| [ACP elicitation/approval](/atlas/features/acp-elicitation) | Unknown | — | — | — |
| [ACP MCP forwarding](/atlas/features/acp-mcp-forwarding) | Unknown | — | — | — |
| [ACP session list](/atlas/features/acp-session-list) | Unknown | — | — | — |
| [ACP session load/resume](/atlas/features/acp-session-load) | Unknown | — | — | — |
| [ACP stdio](/atlas/features/acp-transport-stdio) | Unknown | — | — | — |
| [ACP terminal reverse RPC](/atlas/features/acp-terminal-reverse-rpc) | Unknown | — | — | — |
| [Agent Plugins 1.0 core](/atlas/features/agent-plugins-core) | Unsupported | documented | OpenWork's roadmap lists importing Claude-compatible plugin and marketplace manifests as future work; native OpenCode plugins are a separate supported system. | [S-315](https://openworklabs.com/docs/roadmap) |
| [Agent Plugins failure isolation](/atlas/features/agent-plugins-failure-isolation) | Unknown | — | — | — |
| [Agent Plugins packaged MCP](/atlas/features/agent-plugins-mcp) | Unsupported | documented | Importing MCP configuration from portable Agent Plugins manifests is listed as future work; direct MCP configuration is supported separately. | [S-315](https://openworklabs.com/docs/roadmap) |
| [Agent Plugins packaged skills](/atlas/features/agent-plugins-skills) | Unsupported | documented | Packaging skills through the portable Agent Plugins manifest is roadmap work; standalone OpenWork skills are supported separately. | [S-315](https://openworklabs.com/docs/roadmap) |
| [Agent Skills core](/atlas/features/agent-skills-core) | Supported | documented | The desktop app lists, imports, creates, installs, syncs, and loads SKILL.md packages. | [S-306](https://github.com/different-ai/openwork), [S-309](https://openworklabs.com/docs/start-here/do-work-with-it/import-a-skill) |
| [Agent Skills scripts/assets](/atlas/features/agent-skills-scripts-assets) | Supported | documented | OpenWork inherits OpenCode's skill runtime, which exposes supporting skill files, while the desktop manages the containing skill directories. | [S-306](https://github.com/different-ai/openwork), [S-102](https://opencode.ai/docs/skills/) |
| [Agent Skills standard paths](/atlas/features/agent-skills-standard-paths) | Partial | documented | SKILL.md packages are supported, but the native documented workspace path is .opencode/skills rather than the vendor-neutral .agents path. | [S-309](https://openworklabs.com/docs/start-here/do-work-with-it/import-a-skill) |
| [Cloud agent](/atlas/features/automation-cloud-agent) | Supported | documented | Hosted OpenWork Cloud workers continue agent work remotely and connect back to the desktop client. | [S-306](https://github.com/different-ai/openwork), [S-311](https://openworklabs.com/docs/cloud/get-started) |
| [Headless / CI execution](/atlas/features/automation-headless) | Supported | documented | The first-party OpenWork Orchestrator CLI runs OpenCode and OpenWork server without the desktop UI and supports automatic approval mode. | [S-306](https://github.com/different-ai/openwork) |
| [Marketplace or registry](/atlas/features/marketplace-registry) | Partial | documented | OpenWork supports curated skill lists, share links, organization skill hubs, and manual sources; the architecture still describes broader registry search as future work. | [S-309](https://openworklabs.com/docs/start-here/do-work-with-it/import-a-skill), [S-312](https://github.com/different-ai/openwork/blob/dev/ARCHITECTURE.md) |
| [Organization policy controls](/atlas/features/governance-org-policy) | Partial | documented | OpenWork Cloud and Connect document organization identity, roles, allowed domains, desktop restrictions, allowlists, policy, and audit controls; these controls require the hosted organization layer. | [S-311](https://openworklabs.com/docs/cloud/get-started), [S-314](https://openwork.studio/connect) |
| [AGENTS.md](/atlas/features/instructions-agents-md) | Supported | documented | OpenWork exposes the underlying OpenCode runtime, which loads workspace and global AGENTS.md instructions. | [S-306](https://github.com/different-ai/openwork), [S-322](https://opencode.ai/docs/rules) |
| [Native rules/instructions](/atlas/features/instructions-rules) | Supported | documented | The OpenCode-backed workspace supports persistent AGENTS.md and configured instruction sources. | [S-306](https://github.com/different-ai/openwork), [S-322](https://opencode.ai/docs/rules) |
| [MCP 2026-07-28](/atlas/features/mcp-revision-2026-07-28) | Unknown | — | — | — |
| [MCP Apps / interactive UI](/atlas/features/mcp-apps) | Unknown | — | — | — |
| [MCP client role](/atlas/features/mcp-client) | Supported | documented | OpenWork Desktop can add and consume custom MCP servers at workspace or global scope. | [S-307](https://openworklabs.com/docs/start-here/get-started), [S-308](https://openworklabs.com/docs/start-here/connect-your-stack/add-an-mcp-server) |
| [MCP elicitation](/atlas/features/mcp-elicitation) | Unknown | — | — | — |
| [MCP legacy SSE](/atlas/features/mcp-transport-legacy-sse) | Unknown | — | — | — |
| [MCP list_changed](/atlas/features/mcp-list-changed) | Unknown | — | — | — |
| [MCP OAuth](/atlas/features/mcp-auth-oauth) | Partial | documented | OpenWork documents OAuth MCP setup with dynamic client registration; servers that do not support dynamic registration are currently excluded. | [S-308](https://openworklabs.com/docs/start-here/connect-your-stack/add-an-mcp-server) |
| [MCP prompts](/atlas/features/mcp-prompts) | Unknown | — | — | — |
| [MCP resources](/atlas/features/mcp-resources) | Unknown | — | — | — |
| [MCP roots](/atlas/features/mcp-roots) | Unknown | — | — | — |
| [MCP sampling](/atlas/features/mcp-sampling) | Unknown | — | — | — |
| [MCP server role](/atlas/features/mcp-server) | Supported | documented | The companion openwork-ui-mcp package exposes the running desktop app as a semantic MCP server; macOS is the primary documented platform. | [S-313](https://github.com/different-ai/openwork/blob/dev/docs/mcp-ui-control-profile.md) |
| [MCP stdio](/atlas/features/mcp-transport-stdio) | Supported | documented | The documented openwork-ui-mcp companion runs as a stdio MCP server and bridges to the local desktop app. | [S-313](https://github.com/different-ai/openwork/blob/dev/docs/mcp-ui-control-profile.md) |
| [MCP Streamable HTTP](/atlas/features/mcp-transport-streamable-http) | Unknown | — | — | — |
| [MCP tasks](/atlas/features/mcp-tasks) | Unknown | — | — | — |
| [MCP tools](/atlas/features/mcp-tools) | Supported | documented | Configured MCP servers expose tools that OpenWork can use in agent sessions. | [S-307](https://openworklabs.com/docs/start-here/get-started), [S-308](https://openworklabs.com/docs/start-here/connect-your-stack/add-an-mcp-server) |
| [MCP WebSocket extension](/atlas/features/mcp-transport-websocket-extension) | Unknown | — | — | — |
| [Computer/browser use](/atlas/features/computer-use) | Supported | documented | The first-party OpenWork Browser can open pages, click, fill forms, read content, and take screenshots; this does not imply general operating-system control. | [S-310](https://openworklabs.com/docs/start-here/do-work-with-it/control-the-browser) |
| [Custom agents](/atlas/features/custom-agents) | Supported | documented | OpenWork uses OpenCode's configurable agent primitive and server-owned workspace configuration. | [S-306](https://github.com/different-ai/openwork), [S-312](https://github.com/different-ai/openwork/blob/dev/ARCHITECTURE.md) |
| [Hooks](/atlas/features/hooks) | Supported | documented | OpenWork loads native OpenCode plugins, whose documented extension API includes lifecycle and tool hooks. | [S-306](https://github.com/different-ai/openwork), [S-105](https://opencode.ai/docs/plugins/) |
| [Native plugin system](/atlas/features/plugins-native) | Supported | documented | OpenWork manages native OpenCode plugins through the desktop Skills area and opencode.json. | [S-306](https://github.com/different-ai/openwork), [S-312](https://github.com/different-ai/openwork/blob/dev/ARCHITECTURE.md) |
| [Nested subagents](/atlas/features/subagents-nested) | Unknown | — | — | — |
| [Subagent MCP access](/atlas/features/subagents-mcp-access) | Supported | documented | OpenWork agents can interact with MCPs, and the inherited OpenCode agent permission model can expose MCP tools per agent. | [S-312](https://github.com/different-ai/openwork/blob/dev/ARCHITECTURE.md), [S-104](https://opencode.ai/docs/agents/) |
| [Subagent write access](/atlas/features/subagents-write-access) | Supported | documented | OpenWork inherits OpenCode agent-specific tool permissions, including editable workspace access when allowed. | [S-312](https://github.com/different-ai/openwork/blob/dev/ARCHITECTURE.md), [S-104](https://opencode.ai/docs/agents/) |
| [Subagents](/atlas/features/subagents) | Supported | documented | OpenWork's documented OpenCode primitives include agents that execute tasks with different models and isolated specialization. | [S-312](https://github.com/different-ai/openwork/blob/dev/ARCHITECTURE.md) |
| [Session handoff/import](/atlas/features/session-handoff) | Supported | documented | The desktop client connects to local or hosted workers and presents the same server-owned sessions across those connection modes. | [S-306](https://github.com/different-ai/openwork), [S-311](https://openworklabs.com/docs/cloud/get-started) |

[HTML](/atlas/surfaces/openwork-desktop) · [JSON](/api/v1/atlas/surfaces/openwork-desktop.json) · [Vendor](/atlas/vendors/openwork)
