Claude Codex Computer Use

Claude Codex Computer Use

An unofficial bridge that lets Claude Code control local macOS applications through an existing OpenAI Computer Use installation by launching the signed Codex client and translating MCP compatibility.

Category
访问服务器

README

Claude Codex Computer Use

An experimental, unofficial bridge that lets Claude Code control local macOS applications through an existing OpenAI Computer Use installation.

The package contains no OpenAI binaries. It starts the Computer Use client already installed on the user's Mac and translates the small MCP compatibility gap between Claude Code and that client.

Requirements

  • macOS. The installed OpenAI runtime currently declares macOS 14.4 or later.
  • Claude Code with plugin support. Version 2.1.223 is verified.
  • ChatGPT or Codex with OpenAI Computer Use installed and working.
  • Accessibility and Screen Recording permissions granted to the OpenAI Computer Use runtime.

The bridge looks for the Computer Use client at:

$CODEX_HOME/computer-use/Codex Computer Use.app/Contents/SharedSupport/
SkyComputerUseClient.app/Contents/MacOS/SkyComputerUseClient

When CODEX_HOME is unset, it defaults to ~/.codex.

Install as a Claude Code plugin

In a Claude Code session:

/plugin marketplace add songkeys/claude-codex-computer-use
/plugin install claude-codex-computer-use@songkeys

Or from the shell:

claude plugin marketplace add songkeys/claude-codex-computer-use
claude plugin install claude-codex-computer-use@songkeys

New sessions load the Computer Use Skill and MCP server automatically.

Inspect the installation with:

/plugin
/mcp

Install the MCP bridge from npm

The plugin installation is recommended because it includes both the MCP bridge and the Computer Use Skill. The npm package can also be used as a standalone stdio MCP server:

claude mcp add computer-use -- npx -y claude-codex-computer-use@latest

Or as a direct .mcp.json entry:

{
  "mcpServers": {
    "computer-use": {
      "command": "npx",
      "args": ["-y", "claude-codex-computer-use@latest"]
    }
  }
}

This MCP-only installation does not load the bundled Skill. Prefer the plugin unless the MCP client supplies its own Computer Use instructions.

Usage

Ask Claude to use Computer Use explicitly, or describe a desktop task:

Use Computer Use to inspect Calculator and enter 42.
Open System Settings with Computer Use and tell me what page is visible.

The bundled Skill instructs Claude to use an observable state/action/state loop:

  1. Read the target app with get_app_state.
  2. Use accessibility elements when available and screenshot coordinates only as a fallback.
  3. Perform the action.
  4. Fetch a fresh app state before deciding the next action.

How it works

The OpenAI Computer Use service authenticates the client process ancestry. Launching its MCP client directly from Claude Code is rejected as an unauthenticated sender. The bridge therefore uses the signed Codex executable bundled with ChatGPT or Codex as a process launcher:

Claude Code
  -> claude-codex-computer-use bridge
  -> signed Codex launcher
  -> OpenAI Computer Use MCP client
  -> OpenAI Computer Use service

Codex is not used as an agent and no OpenAI model request is made by the bridge. It runs codex sandbox with Codex's disabled/unrestricted permission profile so the signed client can access its normal caches, macOS services, and Unix sockets.

The Computer Use client requires its MCP client to advertise the elicitation capability and answers app-access approvals through it. The bridge guarantees that capability is present on initialize and automatically accepts the app-access elicitation, so sessions work unattended. All other JSON-RPC messages, including screenshot image blocks, pass through unchanged.

The Computer Use service treats a connected client as an active hold on the controlled applications and releases them when the client exits. Codex ends its client at the end of a conversation, but Claude Code keeps plugin MCP servers alive for the whole session. The bridge therefore terminates the client after 60 seconds without traffic and relaunches it on demand, transparently replaying the recorded initialize handshake, so apps are not held between tasks.

The service also scopes a user-initiated stop (the overlay's Esc cancel) to the client's current "turn", which never ends for a long-lived client. When a tool result reports that the app session was stopped by the user, the bridge recycles the client so the next request starts a fresh session instead of hitting the same stop again.

Configuration

Environment variables:

Variable Purpose
CODEX_HOME Override the Codex data directory. Defaults to ~/.codex.
COMPUTER_USE_CLIENT_PATH Override the full path to SkyComputerUseClient.
COMPUTER_USE_CODEX_LAUNCHER_PATH Override the signed Codex executable path.
COMPUTER_USE_BRIDGE_IDLE_TIMEOUT_MS Idle time before the client is released. Defaults to 60000; 0 keeps the client running for the whole session.
COMPUTER_USE_BRIDGE_DEBUG=1 Write bridge diagnostics to stderr.

The signed launcher is discovered in this order:

  1. COMPUTER_USE_CODEX_LAUNCHER_PATH
  2. /Applications/ChatGPT.app/Contents/Resources/codex
  3. /Applications/Codex.app/Contents/Resources/codex

Security and data flow

Installing this package gives Claude access to the local Computer Use tools, which can read screenshots, click, type, scroll, drag, and interact with applications.

The bridge intentionally:

  • automatically accepts the Computer Use MCP app-access elicitation;
  • launches the signed client with an unrestricted Codex permission profile;
  • passes accessibility text and screenshots back to Claude as MCP tool results;
  • releases the client after an idle timeout so applications are not held between tasks, and relaunches it on demand.

Claude Code may send those tool results to the configured model provider as part of the conversation. Do not install the plugin unless that behavior is acceptable for the applications and data on the Mac.

Compatibility

The initial release was verified with:

Component Verified version
Claude Code 2.1.223
ChatGPT bundled Codex 0.148.0-alpha.15
OpenAI Computer Use runtime 26.817.1000761
macOS / architecture macOS 27.0 / arm64
MCP protocol 2025-11-25

OpenAI Computer Use is an internal desktop integration rather than a stable third-party SDK. ChatGPT, Codex, or Computer Use updates may change binary paths, process-authentication rules, or protocol behavior.

Development

The bridge has no runtime npm dependencies.

pnpm install
pnpm test
pnpm smoke

pnpm test uses a fake Computer Use server and is safe to run anywhere. pnpm smoke connects to the real local service, calls list_apps, and verifies that get_app_state returns both text and a JPEG screenshot.

Troubleshooting

Sender process is not authenticated

The Computer Use client was started directly instead of through the signed Codex launcher. Ensure ChatGPT or Codex is installed in /Applications, or set COMPUTER_USE_CODEX_LAUNCHER_PATH.

Computer Use client is missing

Enable or reinstall OpenAI Computer Use first, then verify that its client exists below $CODEX_HOME/computer-use.

Client and server version mismatch

Quit and relaunch ChatGPT so its Computer Use client and runtime update together, then retry the smoke test.

This application session has been explicitly stopped by the user

Someone pressed Esc on the Computer Use overlay, which cancels the app session for the current turn. The bridge recycles the client automatically, so simply ask Claude to continue when you are ready.

ChatGPT still lists the app under Computer Use

ChatGPT's Computer Use menu can keep showing an app (with a "Stop Using …" action) after the bridge has released the client. The service keeps its app session record so that a follow-up turn can resume without a new approval, and only Codex's own turn-tracking closes it. External clients have no supported way to send that signal. The record is bookkeeping: the controlling client process is gone and new bridge sessions are unaffected. Clear it with the "Stop Using …" action in ChatGPT, or by quitting ChatGPT.

SkyComputerUseClient computer-history processes linger

These are ChatGPT's own history/recording helpers, spawned by its codex app-server daemon whenever Computer Use is used and kept around afterwards. They are idle, they do not hold control of any application, and they are not managed by this bridge. The client the bridge manages runs with a plain mcp argument and exits on idle release. The helpers exit when ChatGPT quits.

errAETimeout: the AppleEvent timed out

The Computer Use service could not reach the target application in time. The call can block for a few minutes. Retry once; if it persists, quit and relaunch the target application, and as a last resort quit and relaunch ChatGPT so its Computer Use service restarts.

Plugin changes do not appear

Restart Claude Code or run /plugin marketplace update songkeys and reinstall. Claude Code runs a cached copy of the installed plugin, so editing a checkout does not affect an existing installation until the plugin is updated.

License and trademarks

The bridge code is available under the MIT License.

This project is independent and is not affiliated with, endorsed by, or sponsored by OpenAI or Anthropic. OpenAI, ChatGPT, Codex, Anthropic, Claude, and related names may be trademarks of their respective owners. Users must supply and be licensed to use their own OpenAI and Anthropic software and accounts.

Prior art

This project mirrors kimi-computer-use, the same bridge for Kimi Code CLI.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选