Codex に Mac を操作させたら “cua” が出てきた — ChatGPT.app 同梱の cua_repl と OSS の cua-driver を調べて分かったこと
Codex に Computer Use で Mac の Keynote を操作するよう依頼し、実行中のログを見ていると、mcp__cua_repl というツールが呼ばれていました。
“cua” という文字列を見て、以前本サイトの記事でコードを読んだ OSS の trycua/cua に含まれる cua-driver を思い浮かべました(Cua Driver 0.26.1 の Computer Use 内部実装を読む)。手元の Mac には CuaDriver.app も手動でインストールしてあります。
では、Codex の Computer Use は trycua の cua-driver を使っているのでしょうか。この記事では、この問いに名前の一致だけで答えず、アプリに同梱されたファイル・起動処理・プロセス・公開資料を順にたどって、どこまで確認できるかを整理します。
先に結果:証拠の一覧
環境は macOS 27.0.1・Apple Silicon の 1 台です。業務では Windows でも Codex の Computer Use を使っており、動作することは確認していますが、この記事で同梱ファイルやプロセスを調べたのは macOS の環境だけです。ここに書いた内容は、この環境とバージョンでの観測です。ChatGPT や Codex の全バージョン・全 OS に一般化できるものではありません。
| 確認対象 | 種類 | 観測した内容 | 確認方法 |
|---|---|---|---|
| Keynote 操作時のツール名 | ローカル(実行記録) | mcp__cua_repl の js ツールを 26 回呼び出し、cua.getApp("com.apple.iWork.Keynote") でアプリを取得 | ~/.codex/sessions の JSONL ログ |
| 同セッションでの cua-driver 実行 | ローカル(実行記録) | cua-driver コマンドを実行した記録はなし(文字列は Web 検索や文章中の言及のみ) | 同上 |
| プラグイン定義 | ローカル(設定) | unified-computer-use プラグインが MCP サーバー cua_repl を登録 | アプリ内の plugin.json・.mcp.json |
| 実際の起動コマンド | ローカル(設定) | cua_node/bin/node で @oai/cua-repl/bin/cua-repl.mjs を起動。CUA_REPL_ENABLED_SURFACES=browser,computer | ~/.codex/plugins/cache に展開された .mcp.json |
| プロセスの親子関係 | ローカル(実行時) | codex app-server --managed-daemon → node cua-repl.mjs → node_repl | ps |
@oai/cua-repl → @oai/cua | ローカル(コード) | 起動時の bootstrap が import("@oai/cua/tinyskyAlt") を実行し、globalThis.cua を定義 | instructions/banner.js・tinysky_alt/globals.js |
@oai/cua → @oai/sky | ローカル(コード・設定) | computer 有効時に sky クライアントを読み込み、REPL の trusted service sky(@oai/sky/service)へ RPC | create_tinysky_alt.js・.mcp.json の環境変数 |
@oai/sky → ネイティブ側 | ローカル(コード) | ~/Library/Group Containers/2DC432GLL2.com.openai.sky.CUAService/IPC/computeruse.sock へ接続 | targets/mac/native-pipe.js |
| ネイティブアプリ | ローカル(署名) | Codex Computer Use.app、bundle ID com.openai.sky.CUAService、Team ID 2DC432GLL2 | defaults read・codesign -dv |
| 手動インストールの cua-driver | ローカル(署名) | CuaDriver.app 0.26.0、bundle ID com.trycua.driver、Team ID YCK386LBJ7、ソケットは ~/Library/Caches/cua-driver/cua-driver.sock | 同上 |
| trycua への参照 | ローカル(文字列検索) | cua_node 配下の JS・Codex Computer Use.app・app.asar・THIRD_PARTY_NOTICES.txt に trycua / cua-driver / CuaDriver の一致なし | grep -a -i |
| Codex の公開 Issue | 公開資料(報告者の観測) | mcp__cua_repl・unified-computer-use を記載した不具合報告 | openai/codex#47378 |
| trycua 側の公開 Issue | 公開資料(trycua 側の記述) | Codex 同梱の Computer Use を node_repl / @oai/sky 経由の別提供元として記述 | trycua/cua#2813・openai/codex#36741 |
確認したバージョンは次のとおりです。
| 対象 | バージョン |
|---|---|
ChatGPT.app(bundle ID com.openai.codex) | 26.928.21956(build 12404) |
cua_node ランタイム | 0.0.27(20260927214556-b77d38801cca)、Node.js 24.21.0 |
@oai/cua-repl | 0.1.0 |
@oai/cua | 0.2.5 |
@oai/sky | 0.7.5 |
| Codex Computer Use.app | 26.924.1001281 |
| Codex CLI(Homebrew)・app-server daemon | 0.160.0 |
| CuaDriver.app(trycua) | 0.26.0 |
Codex に Keynote を操作させて生まれた疑問
依頼したのは、Keynote を題材にした Computer Use のデモです。Codex は Keynote を対象アプリとして取得し、画面の状態の取得・クリック・文字入力を繰り返して作業を進めました。
あとからセッションログ(~/.codex/sessions/ 配下の JSONL)を集計すると、ツール呼び出しは次の 2 種類でした。
custom_tool_call exec 78 回
function_call mcp__cua_repl / js 26 回mcp__cua_repl の js ツールには JavaScript のコードが渡され、その中で cua.getApp("com.apple.iWork.Keynote") のようにアプリを取得していました。MCP(Model Context Protocol)のツール名は、Codex 上では mcp__<サーバー名> の名前空間で表示されます。つまり cua_repl という MCP サーバーの js ツールが呼ばれていたことになります。
ここで出てきた疑問は 2 つです。
cua_replはどこから来た MCP サーバーなのか- それは trycua の cua-driver と同じものなのか
先に言葉を整理しておくと、“CUA” は Computer-Using Agent の略として OpenAI 自身も 2025 年 1 月の Computer-Using Agent の発表で使っている一般的な呼び名です。trycua の “cua” も同じ略に由来する名前と考えられます。名前に “cua” が含まれることは、同じ実装であることの根拠になりません。
実際に呼ばれていた mcp__cua_repl
プラグインの定義
ChatGPT.app の中を読み取り専用で探すと、unified-computer-use という名前のプラグインがありました。
ChatGPT.app/Contents/Resources/plugins/openai-bundled/plugins/unified-computer-use/
├── .codex-plugin/plugin.json
└── .mcp.jsonplugin.json の抜粋です。
{
"version": "26.928.21956",
"name": "unified-computer-use",
"description": "App-managed browser automation runtime.",
"mcpServers": "./.mcp.json"
}実際のファイルには、このほかに Stop・SubagentStop・Interrupt の各フックで cua_repl の turn_ended ツールを呼ぶ設定が入っています。ターンの終了をサーバー側へ通知するためのフックです。
アプリ内の .mcp.json は次のとおりで、command は node だけ、引数は空、enabled は false でした。
{
"mcpServers": {
"cua_repl": {
"command": "node",
"args": [],
"enabled": false,
"enabled_tools": ["js", "js_reset", "turn_ended"]
}
}
}このままでは起動できない設定です。
アプリが書き換えた起動設定
@oai/cua-repl に同梱された README には、この空の設定をデスクトップアプリが埋める、と書かれていました。
The packaged `plugin/.mcp.template.json` is disabled and has no launch arguments.
Desktop renames it to `.mcp.json`, the filename required by the plugin loader.
...
Desktop fills in the downloaded Node executable and package bin path before
enabling it.実際に ~/.codex/plugins/cache/openai-bundled/unified-computer-use/26.928.21956/.mcp.json を見ると、起動コマンドが埋められ、enabled が true になっていました(ユーザー名は ~ に置き換えています)。
{
"cua_repl": {
"command": "/Applications/ChatGPT.app/Contents/Resources/cua_node/bin/node",
"args": [
"/Applications/ChatGPT.app/Contents/Resources/cua_node/lib/node_modules/@oai/cua-repl/bin/cua-repl.mjs"
],
"enabled": true,
"env": {
"NODE_REPL_TRUSTED_SERVICES": "{\"browser\":\"@oai/browser-desktop/service\",\"sky\":\"@oai/sky/service\"}",
"SKY_CUA_SERVICE_PATH": "~/.codex/computer-use/Codex Computer Use.app",
"CUA_REPL_NODE_REPL_PATH": "/Applications/ChatGPT.app/Contents/Resources/cua_node/bin/node_repl",
"CUA_REPL_ENABLED_SURFACES": "browser,computer"
}
}
}env は抜粋です。cua_repl は ChatGPT.app 内の Node.js で @oai/cua-repl の bin を起動し、sky という名前で @oai/sky/service を trusted service として渡しています。
プロセスで確認する
設定だけでなく、実行中のプロセスでも親子関係を確認しました。
ps -axo pid,ppid,command | grep -E "cua-repl|node_repl"47671 29477 .../cua_node/bin/node .../@oai/cua-repl/bin/cua-repl.mjs
47698 47671 .../cua_node/bin/node_repl親の PID 29477 は ~/.codex/packages/app-server-daemon/releases/0.160.0-aarch64-apple-darwin/bin/codex app-server --listen unix:// --managed-daemon でした。Codex の常駐 app-server が cua-repl.mjs を起動し、cua-repl.mjs が node_repl を子プロセスとして起動しています。
cua-repl.mjs 自体は launch() を呼ぶだけの短いスクリプトです。launch()(dist/.../oai_js_cua_repl/src/launch.js、ミニファイ済み)を読むと、次の処理をしていました。
CUA_REPL_ENABLED_SURFACESがbrowser/computer以外なら起動を失敗させるcomputerが有効なら trusted service にsky: "@oai/sky/service"を設定する- ツール説明(
js・js_reset)をプラットフォーム別の Markdown から組み立て、NODE_REPL_TOOL_OVERRIDESとして渡す CUA_REPL_NODE_REPL_PATHのnode_replをstdio: "inherit"でspawnする
stdio を引き継いでいるので、Codex から見た MCP サーバー cua_repl の通信相手は、子プロセスの node_repl です。
ChatGPT.app の中にあった @oai/cua 系パッケージ
3 つのパッケージ
cua_node/lib/node_modules/@oai/ には、cua-repl・cua・sky・browser-desktop が入っていました。package.json の主な項目です。
| パッケージ | version | description・主な exports |
|---|---|---|
@oai/cua-repl | 0.1.0 | "CUA MCP interface for NodeREPL."、bin cua-repl |
@oai/cua | 0.2.5 | exports .・./tinyskyAlt・./tinyskyBrowser |
@oai/sky | 0.7.5 | exports .・./service、publishConfig.executableFiles に Codex Computer Use.app 内の実行ファイル |
どの package.json も dependencies に trycua のパッケージを含んでいません。@oai/sky の依存は @statsig/js-client だけでした。author 欄には個人のものと思われるハンドルが入っていましたが、開発体制を示す情報ではないので、この記事では扱いません。
@oai/cua-repl から @oai/cua へ
@oai/cua-repl の README は、自身の役割を次のように説明しています。
`@oai/cua-repl` launches NodeREPL with the `cua` API from
`@oai/cua/tinyskyAlt`. The `cua_node` archive includes this package.
Codex Desktop's `unified-computer-use` plugin points at its installed bin.REPL の起動時に実行される bootstrap(instructions/banner.js)は 1 行です。
await import("@oai/cua/tinyskyAlt");@oai/cua の tinysky_alt/globals.js は、CUA_REPL_ENABLED_SURFACES を読んで browser と computer のプロバイダを作り、globalThis.cua に代入しています。Keynote 操作で使われた cua.getApp() の cua は、このオブジェクトです。macOS 向けのツール説明(instructions/macos/computer.md)の冒頭にも、同じ呼び出し方が書かれていました。
let app = await cua.getApp("Example App");@oai/cua から @oai/sky へ
create_tinysky_alt.js は、computer が有効なときに sky クライアントを動的 import します。
const { sky } = yield import("../../../../../project/cua/sky_js/src/index.js");import 先は @oai/cua パッケージ内の dist/project/cua/sky_js/ で、@oai/sky の dist/project/cua/sky_js/ とほぼ同じファイル構成です(diff -rq では、@oai/sky 側にだけ service.js があり、ほかの差分はテレメトリ用ファイル 1 つでした)。このクライアントは nodeRepl.rpc({ type: "setup" }) で REPL ホストに問い合わせ、ホストは trusted service sky、つまり @oai/sky/service の handleRpc に処理を渡します。handleRpc は setup と execute を受け付け、execute では click・type_text・get_app_state などのメソッド名で操作を実行します。
@oai/sky からネイティブアプリへ
@oai/sky の macOS 実装(targets/mac/native-pipe.js)は、次の Unix ドメインソケットへ接続します。
~/Library/Group Containers/2DC432GLL2.com.openai.sky.CUAService/IPC/computeruse.sockパス中の 2DC432GLL2.com.openai.sky.CUAService は、@oai/sky に同梱された Codex Computer Use.app の Team ID と bundle ID の組み合わせと一致します。
defaults read ".../@oai/sky/Codex Computer Use.app/Contents/Info" CFBundleIdentifier
# => com.openai.sky.CUAService
codesign -dv ".../@oai/sky/Codex Computer Use.app" 2>&1 | grep TeamIdentifier
# => TeamIdentifier=2DC432GLL2Codex Computer Use.app の実行ファイルは SkyComputerUseService で、SharedSupport に SkyComputerUseClient.app・CUALockScreenGuardian.app・Codex Computer Use Installer.app を含みます。同じバージョン(26.924.1001281)のコピーが ~/.codex/computer-use/Codex Computer Use.app にもあり、.mcp.json の SKY_CUA_SERVICE_PATH はこちらを指していました。ChatGPT.app 本体の Team ID も 2DC432GLL2 です。
ただし、調査時点では SkyComputerUseService のプロセスは動いておらず、IPC ディレクトリにはソケット本体がなく computeruse.sock.lock だけがありました。ソケットを SkyComputerUseService が待ち受けていることは、実行時には確認できていません。
“sky” という名前については、OpenAI が 2025 年 10 月に Mac 向け自然言語インターフェース Sky の開発元 Software Applications Incorporated を買収したと発表しています(OpenAI acquires Software Applications Incorporated, maker of Sky)。パッケージ名や bundle ID の “sky” がこの買収と関係していると考えるのは自然ですが、同梱ファイルにその経緯は書かれていないため、推測として扱います。
呼び出し関係の図
確認方法で線を分けています。実線は実行時またはコード・設定で確認した接続、点線は推測の接続です。cua-driver との間には線を引いていません。
flowchart TD M["モデル"] -->|"実行記録:mcp__cua_repl / js"| A["codex app-server<br/>--managed-daemon"] A -->|"実行時(ps):子プロセス"| B["node cua-repl.mjs<br/>@oai/cua-repl 0.1.0"] B -->|"実行時(ps)・コード:spawn"| C["node_repl<br/>MCP サーバー cua_repl の通信相手"] C -->|"コード:banner.js で import"| D["@oai/cua/tinyskyAlt 0.2.5<br/>globalThis.cua を定義"] D -->|"コード:computer 有効時に import"| E["sky クライアント<br/>@oai/cua 内の sky_js"] E -->|"コード・設定:nodeRepl.rpc → trusted service sky"| F["@oai/sky/service 0.7.5"] F -->|"コード:native pipe"| G["computeruse.sock<br/>2DC432GLL2.com.openai.sky.CUAService"] G -.->|"推測:同じ bundle ID のアプリが待ち受け"| H["Codex Computer Use.app<br/>SkyComputerUseService"] X["CuaDriver.app 0.26.0<br/>com.trycua.driver"] --- Y["~/Library/Caches/cua-driver/<br/>cua-driver.sock"]
OSS の cua-driver との関係を調べる
依存・同梱・文字列参照
trycua の cua-driver を使っているなら、依存関係の宣言、バイナリの同梱、ライセンス表記、設定ファイルのどこかに痕跡が出る可能性があります。次の場所を grep -a -i で trycua・cua-driver・cua_driver・CuaDriver・com.trycua について検索しました。
cua_node/lib/node_modules/配下のすべてのテキストファイル(@oai/*を含む)@oai/sky/Codex Computer Use.appと~/.codex/computer-use/Codex Computer Use.appの全ファイル(バイナリを含む)- ChatGPT.app の
app.asar - ChatGPT.app の
THIRD_PARTY_NOTICES.txt(約 5 万行)とcua_node/LICENSE
いずれも一致はありませんでした。cua_node/lib/node_modules/.package-map.json に列挙された依存も、@oai/*・playwright・sharp・@statsig/* などで、trycua のパッケージは含まれていません。
この結果から言えるのは、「この環境・このバージョンの同梱ファイルには、trycua の cua-driver への依存・同梱・名前の参照が見つからなかった」ということです。コンパイル済みバイナリの中身までは解析していないため、コードの一部が共有されている可能性を完全には否定できません。
API とプロセスの比較
cua-driver の MCP ツールは cua-driver list-tools で一覧できます。click・drag・list_apps・get_window_state・launch_app など、ツールを 1 つずつ公開する形です。一方 cua_repl が公開するツールは js・js_reset・turn_ended の 3 つで、操作は js に渡した JavaScript の中で cua.getApp() などの API を呼んで行います。@oai/sky の macOS クライアントのメソッドには click・drag・list_apps のように cua-driver と同じ名前もありますが、Computer Use の操作名としては一般的な語で、名前の一致は共通の実装を示しません。
| 項目 | ChatGPT.app 同梱(cua_repl) | 手動インストール(cua-driver) |
|---|---|---|
| MCP サーバーの起動 | cua_node/bin/node .../@oai/cua-repl/bin/cua-repl.mjs | cua-driver mcp |
| 公開する MCP ツール | js・js_reset・turn_ended | click・get_window_state など個別ツール |
| ネイティブ側のアプリ | Codex Computer Use.app(com.openai.sky.CUAService) | CuaDriver.app(com.trycua.driver) |
| 署名の Team ID | 2DC432GLL2 | YCK386LBJ7 |
| IPC ソケット | ~/Library/Group Containers/2DC432GLL2.com.openai.sky.CUAService/IPC/computeruse.sock | ~/Library/Caches/cua-driver/cua-driver.sock |
| 配布元 | ChatGPT.app に同梱 | trycua の GitHub リリース |
公開資料に書かれていること
trycua 側の公開資料では、Codex 同梱の Computer Use と cua-driver は別の提供元として扱われています。
- trycua の blog 記事 Inside macOS window internals(2026-04-23 公開)は、OpenAI の Codex for (almost) everything で発表された background computer-use を受けて macOS のウィンドウ管理の内部を調べた経緯を書いています。cua-driver は、こうしたドライバーは特定のエージェント製品の機能ではなく、どのハーネスからも使える commodity であるべきだ、という考えで作られています。
- trycua の Issue #2813(2026-08-03 作成)は、cua-driver を Codex プラグインとして配布する提案です。Codex が同梱の Computer Use スキルを自動で選び、ユーザーが CUA Driver を指定しても
node_repl/@oai/sky経由で操作してしまう、という問題を挙げています。 - 同じ報告者による openai/codex#36741 は、明示的に指定したツールや MCP サーバーを同梱スキルより優先してほしいという要望で、同梱の
computer-use:computer-useスキルがnode_replと@oai/skyに処理を回した再現手順を載せています。
これらは trycua 側の記述と報告者の観測で、OpenAI の公式な仕様説明ではありません。ただ、cua-driver の開発元が Codex 同梱の Computer Use を自分たちとは別の実装として扱っている、という点はローカルの観測と矛盾しません。
OpenAI 側の公開 Issue openai/codex#47378(2026-09-22 作成)は、mcp__cua_repl と unified-computer-use で Tk アプリのタブをクリックできないという不具合報告です。報告者の環境で同じツール名・プラグイン名が使われていたことは分かりますが、これも報告者の観測であり、実装の説明ではありません。
cua-driver を Codex につなぐ場合
cua-driver の公式ドキュメント Connect your agent では、Codex への登録は cua-driver mcp-config --client codex で codex mcp add cua-driver -- <path> mcp を出力させ、それを実行する手順です(以前のパス how-to-guides/driver/connect-your-agent.mdx は、調査時点では cua-driver/guides/connect-your-agent.mdx に移動していました)。つまり cua-driver を Codex から使うには、ユーザーが MCP サーバーとして明示的に登録する必要があります。
この環境の ~/.codex/config.toml には cua-driver の MCP サーバー登録はなく、codex mcp list の結果にも出てきませんでした。CuaDriver.app はインストール済みで、~/.local/bin/cua-driver も存在しますが、Keynote 操作の経路には登録されていませんでした。
ChatGPT と Codex はどこまで同じ仕組みか
この環境で確認できた範囲と、確認できていない範囲を分けます。
確認できたこと:
/Applications/ChatGPT.appの bundle ID はcom.openai.codexで、Codex の CLI(codex-cli)やcua_nodeを同梱している。公開ドキュメント Computer Use にも、ChatGPT デスクトップアプリで ChatGPT(Work)か Codex を選び、Computer Use プラグインをインストールする手順が書かれている。unified-computer-useと、旧来のcomputer-useの 2 つのプラグインが同梱されている。computer-useプラグインのスキル(SKILL.md)はnode_replで@oai/skyを直接 import する手順を書いており、unified-computer-useは@oai/cuaのcuaAPI を経由する。@oai/cua-replの README には “Desktop suppresses legacy skills and hints only for the providers handled bycua_repl.” とあり、両方が有効な場合の扱いが定義されている。- Homebrew でインストールした Codex CLI 0.160.0 の
codex mcp listにもcua_replが表示された。ただし起動コマンドは/Applications/ChatGPT.app/...を指している。CLI とデスクトップアプリが~/.codexの設定とプラグインキャッシュを共有しているためと考えられる。
確認できていないこと:
- ChatGPT(Work)モードで Computer Use を実行した場合に、同じ
cua_replが呼ばれるかは実行して確認していない。~/.codex/computer-use/config.jsonに “ChatGPT is using your computer” という表示文字列があることから共通の部品を使っている可能性はあるが、推測にとどまる。 - ChatGPT.app をインストールしていない環境で、Codex CLI 単体が Computer Use を使えるかは確認していない。公開ドキュメントが対象として挙げているのはデスクトップアプリ。
- Windows 版・Linux 版の内部構成。公開ドキュメントは macOS と Windows を対象としている。
@oai/cua-replにはinstructions/windows/とinstructions/linux/があり、@oai/skyにも各 OS のターゲットがあるが、この記事で中身を見たのは macOS 版だけ。
手動インストールした cua-driver と見分ける方法
同じ Mac に両方が入っている場合、どちらが動いているかは次の順で確認できます。
- セッションログやツール呼び出しの表示で、ツール名を確認する。この環境の同梱版は
mcp__cua_replのjsだった。cua-driver をcodex mcp add cua-driverで登録した場合は、サーバー名cua-driverの名前空間でget_window_stateなどの個別ツールとして表示されると考えられる(命名規則からの推測で、この環境では登録していない)。 codex mcp listで、登録されている MCP サーバーと起動コマンドを確認する。ps -axo pid,ppid,commandで、cua-repl.mjs・node_repl・SkyComputerUseServiceと、/Applications/CuaDriver.app/Contents/MacOS/cua-driverのどちらが動いているかを見る。- ネイティブアプリの署名を
codesign -dvで確認する。com.openai.sky.CUAService(Team ID2DC432GLL2)か、com.trycua.driver(Team IDYCK386LBJ7)かで区別できる。 - IPC ソケットの場所を確認する。同梱版は
Group Containers/2DC432GLL2.com.openai.sky.CUAService/IPC/、cua-driver は~/Library/Caches/cua-driver/を使う。
確認できたこと/まだ分からないこと
確認できたこと(ローカル、この環境とバージョン)
- Keynote 操作で呼ばれていたのは
mcp__cua_replのjsツールで、同セッションにcua-driverコマンドの実行記録はない。 mcp__cua_replは ChatGPT.app 同梱のunified-computer-useプラグインが登録する MCP サーバーで、Codex の常駐 app-server からnode cua-repl.mjs、node_replの順に起動される。node_replは起動時に@oai/cua/tinyskyAltを import してcuaAPI を定義し、computer 操作は@oai/sky/serviceを経由してcom.openai.sky.CUAServiceの IPC ソケットへ向かう。- 同梱ファイル(JS、ネイティブアプリ、
app.asar、ライセンス表記)に trycua の cua-driver への依存・同梱・名前の参照は見つからなかった。 - 同梱版と手動インストールの cua-driver は、bundle ID・署名の Team ID・IPC ソケットの場所・MCP ツールの形がすべて異なる。
公開資料に書かれていること
- trycua は、cua-driver を Codex の background computer-use の発表後に、特定のエージェント製品の機能ではなく、どのハーネスからも使えるドライバーとして作ったと説明し、Codex 同梱の Computer Use(
node_repl/@oai/sky)を別の提供元として扱っている。 - OpenAI は Sky の開発元を 2025 年 10 月に買収したと発表している。
推測
computeruse.sockを待ち受けるのはCodex Computer Use.appのSkyComputerUseServiceである(bundle ID とパスの一致から。プロセスとソケットは調査時点で存在しなかった)。- “sky” という名前は買収した Sky のチームや技術に由来する(公開情報と名前の一致から)。
未確認
- ネイティブバイナリ(
SkyComputerUseServiceなど)の内部実装。文字列検索だけで、逆アセンブルなどの解析はしていない。 - ChatGPT(Work)モードの Computer Use が同じ経路を使うか。
- 他のバージョン、Windows・Linux での内部構成、ChatGPT.app がない環境での Codex CLI の挙動。
依存関係が見つからなかったことは、「trycua の cua-driver を絶対に使っていない」という証明にはなりません。言えるのは、この環境の ChatGPT.app 26.928.21956 では、mcp__cua_repl から OpenAI の署名付き Codex Computer Use.app までの経路を追うことができ、その経路上に cua-driver は現れなかった、という範囲です。“cua” という名前が同じでも、配布元・署名・プロセス・ソケットを見れば、どちらが動いているかを確かめられます。
以上、Codex の mcp__cua_repl を ChatGPT.app の同梱ファイルからたどり、trycua の cua-driver とは異なる経路で動いていることを確かめた、現場からお送りしました。
参考情報
- Computer Use | ChatGPT Learn
- Codex for (almost) everything | OpenAI
- Computer-Using Agent | OpenAI
- OpenAI acquires Software Applications Incorporated, maker of Sky | OpenAI
- openai/codex#47378: [macOS Computer Use] Tk clicks use stale global pointer despite correct synthetic event coordinates
- openai/codex#36741: Let explicit user tool/MCP choice override auto-triggered bundled skills
- trycua/cua#2813: feat(cua-driver): ship an OpenAI Codex plugin (MCP + focused skills)
- Connect your agent | Cua Driver
- Inside macOS window internals: how SkyLight enables multi-cursor background agents | trycua
- Cua Driver 0.26.1 の Computer Use 内部実装を読む — ウィンドウへの宛先固定と、操作結果・事後条件検証の分離
- macOS と Windows 両対応の Computer Use エージェントを比較検討したメモ — Hermes Agent・cua-driver を軸にした 2026 年 9 月時点の選定
- AI エージェントに QA テスターを任せて開発サイクルを短縮する — OpenAI GPT-6 Astra と Computer Use を軸にした設計メモ