codex-computer-use-mcp 0.6.3 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -39,7 +39,7 @@ text(next.text);
39
39
 
40
40
  The extension does not change which tools are active. Turn on `codemode` with `"defaultTools": ["+codemode"]` in `settings.json` or with `pi --tools +codemode`; Pi also turns it on when an MCP server uses `codemode` exposure. When neither `codemode` nor a Computer Use tool is active, the extension shows one notice at the first prompt.
41
41
 
42
- `computer_use_get_app_state` resolves to `{ app, text, screenshot }`, where `screenshot` is an image block for `image()` or `null`. It may return an accessibility-tree diff after the first inspection; pass `disableDiff: true` to request a fresh full tree. `computer_use_list_apps` resolves to the official text inventory produced by the app-server transport; unlike native `@oai/sky`, that transport does not provide the structured app array. Other methods resolve to their official text output. A failed call rejects with the official error text. Calls run one at a time, and calls after `get_app_state` reuse the signed session until the agent settles. The namespace instructions, available from `describeNamespace("computer_use")`, summarise this workflow.
42
+ `computer_use_get_app_state` resolves to `{ app, text, screenshot }`, where `screenshot` is an image block for `image()` or `null`. It may return an accessibility-tree diff after the first inspection; pass `disableDiff: true` to request a fresh full tree. `computer_use_list_apps` resolves to the official text inventory produced by the app-server transport; unlike native `@oai/sky`, that transport does not provide the structured app array. Other methods resolve to their official text output. A failed call rejects with the official error text, followed by a recovery step when the adapter recognises the cause (see [Failures](#failures)). Calls run one at a time, and calls after `get_app_state` reuse the signed session until the agent settles. The namespace instructions, available from `describeNamespace("computer_use")`, summarise this workflow.
43
43
 
44
44
  Use `/computer-use-status` to inspect the installed component and transport status.
45
45
 
@@ -104,6 +104,20 @@ If a component is missing, install or update the [official ChatGPT macOS app](ht
104
104
 
105
105
  Pi limits returned text to 50KB or 2,000 lines. When text exceeds that limit, the complete text is written to a mode-0600 file in a private directory under `/tmp`. Images are returned directly and are never spilled to disk.
106
106
 
107
+ ### Failures
108
+
109
+ ChatGPT does not need to be running. The official client starts the Computer Use service when a call needs it.
110
+
111
+ Errors name the cause and the next step, so an agent can recover or tell the user:
112
+
113
+ | Cause | What the error says |
114
+ | --- | --- |
115
+ | The Computer Use service is stuck | Official `bootstrapTimedOut`, or a tool-call timeout, followed by `pkill -f MacOS/SkyComputerUseService`. The service relaunches on the next call. If it fails again, relaunch ChatGPT. |
116
+ | ChatGPT is updating, or the Mac is busy | `codesign did not finish within 30 seconds`: wait and retry. |
117
+ | A ChatGPT bundle is damaged or mid-update | `Signature verification failed for …`, with the reason from `codesign`. |
118
+ | ChatGPT and this package no longer match | The app-server's own error, or the last lines it printed before exiting, followed by both versions and a step to update ChatGPT and this package and restart the client. The same step follows a missing file inside an installed ChatGPT. |
119
+ | ChatGPT or its Computer Use component is not installed | The paths checked and how to install it. |
120
+
107
121
  ## Development
108
122
 
109
123
  ```bash
@@ -16,6 +16,13 @@ const COMPUTER_USE_PLUGIN_RELATIVE_PATH = "Contents/Resources/plugins/openai-bun
16
16
  const COMPUTER_USE_APP_RELATIVE_PATH = "computer-use/Codex Computer Use.app";
17
17
  const CLIENT_RELATIVE_PATH = "Contents/SharedSupport/SkyComputerUseClient.app/Contents/MacOS/SkyComputerUseClient";
18
18
  const OPENAI_TEAM_ID = "2DC432GLL2";
19
+ // agent-default (not a user rule): 2026-11-04. codesign can take longer than 10s after updates or under load.
20
+ const VERIFY_COMMAND_TIMEOUT_MS = 30_000;
21
+ function outOfStepHint(codexVersion) {
22
+ const versions = `codex-computer-use-mcp ${PACKAGE_VERSION}${codexVersion ? `, ${codexVersion}` : ""}`;
23
+ return `ChatGPT and codex-computer-use-mcp may be out of step (${versions}). Open ChatGPT so it can install updates (\`open -a ChatGPT\`), update codex-computer-use-mcp to its latest release, restart Pi or the MCP client, then retry. If it still fails, tell the user.`;
24
+ }
25
+ const STUCK_SERVICE_HINT = "The Computer Use service may be stuck. Restart it with `pkill -f MacOS/SkyComputerUseService` (it relaunches on the next call, with or without ChatGPT running), then retry once. If it fails again, ask the user to relaunch ChatGPT.";
19
26
  const jsonObjectSchema = z.record(z.string(), z.json());
20
27
  const elicitationRequestSchema = z.object({
21
28
  mode: z.string().optional(),
@@ -65,12 +72,18 @@ export class DirectBrokerCallError extends Error {
65
72
  }
66
73
  }
67
74
  function productionRunSync(command, args) {
68
- return spawnSync(command, args, { encoding: "utf8", timeout: 10_000 });
75
+ return spawnSync(command, args, { encoding: "utf8", timeout: VERIFY_COMMAND_TIMEOUT_MS });
69
76
  }
70
77
  function verifySignedBinary(binaryPath, runSync) {
78
+ const name = path.basename(binaryPath);
71
79
  const verify = runSync("/usr/bin/codesign", ["--verify", "--strict", binaryPath]);
72
- if (verify.status !== 0)
73
- throw new BrokerVerificationError(`Signature verification failed for ${path.basename(binaryPath)}`);
80
+ if (verify.status === null) {
81
+ throw new BrokerVerificationError(`Could not check the signature of ${name}: codesign did not finish within ${VERIFY_COMMAND_TIMEOUT_MS / 1000} seconds. ChatGPT may be updating, or the Mac is busy. Wait a minute, then retry.`);
82
+ }
83
+ if (verify.status !== 0) {
84
+ const reason = (verify.stderr ?? "").trim().split("\n")[0].slice(0, 300);
85
+ throw new BrokerVerificationError(`Signature verification failed for ${name}${reason ? ` (${reason})` : ""}. If ChatGPT is updating, wait for it to finish and retry. Otherwise reinstall ChatGPT from https://chatgpt.com/download.`);
86
+ }
74
87
  const details = runSync("/usr/bin/codesign", ["-dv", "--verbose=2", binaryPath]);
75
88
  const output = `${details.stdout ?? ""}\n${details.stderr ?? ""}`;
76
89
  if (details.status !== 0 || !new RegExp(`(?:^|\\n)TeamIdentifier=${OPENAI_TEAM_ID}(?:\\n|$)`).test(output)) {
@@ -101,9 +114,10 @@ export function readOfficialPathConfig(configPath) {
101
114
  }
102
115
  return config.data;
103
116
  }
104
- function notFoundError(component, checked, key, hint, configPath) {
117
+ function notFoundError(component, checked, key, hint, configPath, installedChatGpt) {
105
118
  const where = configPath ? `in ${configPath}` : "in the Computer Use config.json in the state directory";
106
- return new BrokerVerificationError(`${component} was not found. Checked: ${checked.join(", ")}. ${hint} Then set "${key}" to its absolute path ${where}, or remove "${key}" to restore automatic discovery.`);
119
+ const moved = installedChatGpt ? ` ChatGPT is installed at ${installedChatGpt}; if it is up to date, an update may have moved this file. ${outOfStepHint()}` : "";
120
+ return new BrokerVerificationError(`${component} was not found. Checked: ${checked.join(", ")}. ${hint}${moved} If it is installed elsewhere, set "${key}" to its absolute path ${where}, or remove "${key}" to restore automatic discovery.`);
107
121
  }
108
122
  function defaultChatGptAppPaths(userHome = os.userInfo().homedir) {
109
123
  return ["/Applications/ChatGPT.app", path.join(userHome, "Applications", "ChatGPT.app")];
@@ -145,8 +159,9 @@ export function resolveOfficialComputerUseClient(options = {}) {
145
159
  if (current)
146
160
  return current;
147
161
  const checked = [path.join(currentApp, CLIENT_RELATIVE_PATH)];
162
+ const chatGptApps = options.chatGptAppPaths ?? defaultChatGptAppPaths(userHome);
148
163
  const legacyRoots = options.legacyPluginRoot ? [options.legacyPluginRoot]
149
- : (options.chatGptAppPaths ?? defaultChatGptAppPaths(userHome)).map((app) => path.join(app, COMPUTER_USE_PLUGIN_RELATIVE_PATH));
164
+ : chatGptApps.map((app) => path.join(app, COMPUTER_USE_PLUGIN_RELATIVE_PATH));
150
165
  for (const legacyRoot of legacyRoots) {
151
166
  const canonicalLegacyRoot = existsSync(legacyRoot) ? realpathSync(legacyRoot) : path.resolve(legacyRoot);
152
167
  const legacyApp = path.join(canonicalLegacyRoot, "Codex Computer Use.app");
@@ -156,17 +171,18 @@ export function resolveOfficialComputerUseClient(options = {}) {
156
171
  if (legacy)
157
172
  return legacy;
158
173
  }
159
- throw notFoundError("Official Computer Use client", checked, "computerUseAppPath", clientHint, options.configPath);
174
+ throw notFoundError("Official Computer Use client", checked, "computerUseAppPath", clientHint, options.configPath, chatGptApps.find((app) => existsSync(app)));
160
175
  }
161
176
  /** Resolve the configured Codex app-server executable, or else the first default ChatGPT location that exists. */
162
177
  export function resolveOfficialCodex(options = {}) {
163
178
  const runSync = options.runSync ?? productionRunSync;
164
179
  const config = options.configPath ? readOfficialPathConfig(options.configPath) : {};
180
+ const chatGptApps = config.codexPath ? [] : options.chatGptAppPaths ?? defaultChatGptAppPaths(options.userHome);
165
181
  const candidates = config.codexPath ? [path.resolve(config.codexPath)]
166
- : (options.chatGptAppPaths ?? defaultChatGptAppPaths(options.userHome)).flatMap((app) => CODEX_RELATIVE_PATHS.map((relative) => path.join(app, relative)));
182
+ : chatGptApps.flatMap((app) => CODEX_RELATIVE_PATHS.map((relative) => path.join(app, relative)));
167
183
  const found = candidates.find((candidate) => existsSync(candidate));
168
184
  if (!found) {
169
- throw notFoundError("Codex app-server", candidates, "codexPath", "Install or update the official ChatGPT macOS app (https://chatgpt.com/download), then open it.", options.configPath);
185
+ throw notFoundError("Codex app-server", candidates, "codexPath", "Install or update the official ChatGPT macOS app (https://chatgpt.com/download), then open it.", options.configPath, chatGptApps.find((app) => existsSync(app)));
170
186
  }
171
187
  const codexPath = realpathSync(found);
172
188
  verifySignedBinary(codexPath, runSync);
@@ -469,7 +485,10 @@ export async function createOfficialDirectToolSession(options = {}) {
469
485
  return new Promise((resolve, reject) => {
470
486
  const timer = setTimeout(() => {
471
487
  pending.delete(id);
472
- const error = new Error(`Official app-server request timed out: ${methodName}`);
488
+ const recovery = methodName === "mcpServer/tool/call"
489
+ ? `The target app may be unresponsive. ${STUCK_SERVICE_HINT}`
490
+ : `Retry once. If it times out again: ${outOfStepHint(verification.brokerVersion)}`;
491
+ const error = new Error(`Official app-server request timed out: ${methodName}. ${recovery}`);
473
492
  reject(error);
474
493
  if (methodName === "mcpServer/tool/call")
475
494
  cancel(error);
@@ -613,11 +632,15 @@ export async function createOfficialDirectToolSession(options = {}) {
613
632
  proc.stdin.on("error", (error) => { if (error.code !== "EPIPE")
614
633
  fail(error); });
615
634
  proc.stderr.setEncoding("utf8");
616
- proc.stderr.on("data", (chunk) => { if (stderr.length < 16_384)
617
- stderr += chunk.slice(0, 16_384 - stderr.length); });
635
+ proc.stderr.on("data", (chunk) => { stderr = (stderr + chunk).slice(-16_384); });
618
636
  proc.once("error", (error) => fail(error));
619
- proc.once("close", (code) => { if (pending.size > 0)
620
- fail(new Error(`Official app-server exited before completing the request (${code ?? "unknown"})`)); });
637
+ proc.once("close", (code) => {
638
+ if (pending.size === 0)
639
+ return;
640
+ // eslint-disable-next-line no-control-regex
641
+ const output = stderr.replace(/\u001b\[[0-9;]*m/g, "").trim().split("\n").slice(-6).join("\n").slice(-1_000);
642
+ fail(new Error(`Official app-server exited before completing the request (${code ?? "unknown"})${output ? `. It reported:\n${output}\n` : ". "}${outOfStepHint(verification.brokerVersion)}`));
643
+ });
621
644
  const processProtocolLine = (line) => {
622
645
  let parsedMessage;
623
646
  try {
@@ -653,7 +676,7 @@ export async function createOfficialDirectToolSession(options = {}) {
653
676
  pending.delete(String(message.id));
654
677
  clearTimeout(waiter.timer);
655
678
  if (message.error)
656
- waiter.reject(new Error(`Official app-server error: ${message.error.message ?? "unknown"}`));
679
+ waiter.reject(new Error(`Official app-server error: ${message.error.message ?? "unknown"}. ${outOfStepHint(verification.brokerVersion)}`));
657
680
  else
658
681
  waiter.resolve(message.result ?? null);
659
682
  return;
@@ -740,8 +763,12 @@ export async function createOfficialDirectToolSession(options = {}) {
740
763
  if (modelTurnsStarted !== 0)
741
764
  throw new BrokerVerificationError("Model-turn activity was observed during direct dispatch");
742
765
  const result = directResultSchema.parse(raw);
766
+ const officialText = result.content.filter((block) => block.type === "text").map((block) => String(block.text ?? "")).join("\n").trim();
767
+ const content = result.isError && officialText === "bootstrapTimedOut"
768
+ ? [...result.content, { type: "text", text: STUCK_SERVICE_HINT }]
769
+ : result.content;
743
770
  return {
744
- content: result.content,
771
+ content,
745
772
  structuredContent: result.structuredContent,
746
773
  isError: result.isError === true,
747
774
  brokerVersion: verification.brokerVersion,
@@ -1 +1 @@
1
- {"version":3,"file":"direct-broker.js","sourceRoot":"","sources":["../src/direct-broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"direct-broker.js","sourceRoot":"","sources":["../src/direct-broker.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ await tools.computer_use_type_text({ app: "TextEdit", text: "hello" });
41
41
  get_app_state resolves to { app, text, screenshot }. text is the accessibility tree; after the first inspection it may be a diff, so pass disableDiff: true for a fresh full tree. screenshot is an image block for image(), or null.
42
42
  Take element_index values from the latest get_app_state text, and inspect again after acting.
43
43
  Calls run one at a time, in the order the script makes them.
44
- list_apps resolves to the official text inventory. A failed call rejects with the official error text.`,
44
+ list_apps resolves to the official text inventory. A failed call rejects with the official error text. When the adapter recognises the cause, the error also gives a recovery step; follow it before falling back to other tools, and tell the user if it still fails.`,
45
45
  };
46
46
 
47
47
  export function computerUseToolName(method: DirectMethod): string {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-computer-use-mcp",
3
- "version": "0.6.3",
3
+ "version": "0.6.4",
4
4
  "description": "Expose the official macOS Computer Use tools directly to Pi and MCP clients without a nested model.",
5
5
  "author": "Thomas Mustier",
6
6
  "license": "MIT",