Skip to content

Releases

v0.7.1

Choose a tag to compare

@tmustier tmustier released this 06 Nov 11:41
7b6d6af

Added

  • A deprecated fallback for ChatGPT accounts without the unified Computer Use runtime. OpenAI turns that runtime on per account; where it is off, ChatGPT still uses the ten typed tools, and so does this adapter now instead of failing. The route is chosen when Pi loads the extension or the MCP server starts. /computer-use-status reports "route". The fallback is likely to be removed once the unified runtime reaches every account. (#47)

Validation

All 134 tests, lint, core and Pi type checks, and the build pass, including live calls on both routes. Real openai-codex/gpt-6.1-sol runs through Pi using the packed and installed tarball: cua_repl computed 13 × 3 = 39 in Calculator, and the fallback's computer_use_* codemode tools computed 13 × 5 = 65.

pi install npm:codex-computer-use-mcp

v0.7.0

Choose a tag to compare

@tmustier tmustier released this 04 Nov 23:40
2df0a81

Changed (breaking)

  • Computer Use now runs through ChatGPT's current runtime, cua_repl: the JavaScript tool ChatGPT's own threads use. Pi registers cua_repl and cua_repl_reset; MCP exposes js and js_reset. Both use the descriptions and parameters ChatGPT gives its own model. (#45)
  • The ten computer_use_* codemode tools are removed. Use the cua API inside cua_repl, for example let app = await cua.getApp("Calculator"); await app.click(7);.
  • Bindings such as app last across calls and agent turns. Each turn ends with ChatGPT's official turn_ended call.
  • The computerUseAppPath setting is replaced by cuaReplConfigPath.

Added

  • Browser control: agents can list Chrome tabs and open, read, act in and close tabs through ChatGPT's Chrome extension. This works without ChatGPT's per-turn browser permission.

Requirements

ChatGPT writes the runtime settings this release needs only when OpenAI has turned on its unified Computer Use runtime for the account. To check, run ls ~/.codex/plugins/cache/openai-bundled/unified-computer-use/; it should list a version folder. If it doesn't, the error says so; until it does, use 0.6.5: pi install npm:codex-computer-use-mcp@0.6.5. (#46)

Validation

All 71 tests, lint, core and Pi type checks, and the build pass, including live tests against ChatGPT for Work 26.1029.61003. Real openai-codex/gpt-6.1-sol runs through Pi:

  • Opened a Finder folder and computed 17 × 23 + 9 in Calculator, then reused the binding on the next turn.
  • Opened, read and closed a Chrome tab.
  • Computed 12 × 12 through the packed and installed 0.7.0 tarball.
pi install npm:codex-computer-use-mcp

v0.6.5

Choose a tag to compare

@tmustier tmustier released this 04 Nov 19:13

Fixed

  • /reload now loads an updated version. The Pi extension used to import its code from dist/, which Pi keeps cached until it restarts, so after pi update or vibes update agents kept running the old release. The extension now loads from src/, which Pi reloads. Updating from 0.6.4 or earlier to this release also works with /reload. (Nexcade/vibes#992)

Validation

All 72 tests, lint, core and Pi type checks, and the build pass. A new test updates an installed copy, reloads Pi over RPC, and checks that the new code runs. I also upgraded a running Pi from the published 0.6.4 to this build with a reload, and ran a live openai-codex/gpt-6.1-sol Computer Use call through the installed package.

pi install npm:codex-computer-use-mcp@0.6.5

Compare v0.6.4 to v0.6.5

v0.6.4

Choose a tag to compare

@tmustier tmustier released this 04 Nov 12:10

Fixed

  • Computer Use failures now name the cause and a recovery step, so agents can recover or tell the user instead of giving up:
    • A stuck Computer Use service (official bootstrapTimedOut, or a tool-call timeout) gets a step to restart it with pkill -f MacOS/SkyComputerUseService. It relaunches on the next call, with or without ChatGPT running. The official text is kept.
    • A codesign check that does not finish is now reported as unfinished, not as a bad signature, and the limit rises from 10 to 30 seconds. Real signature failures include codesign's reason.
    • When the app-server exits early, the error shows the last lines it printed, which were previously discarded.
    • Version-drift failures, and files missing inside an installed ChatGPT, name both versions and say to update ChatGPT and this package, then restart the client.
  • The README has a new Failures section.

Validation

All 71 tests, lint, core and Pi type checks, and the build pass. In a live run with the Computer Use service frozen, openai-codex/gpt-6.1-sol received the recovery step, restarted the service itself, retried and completed the task.

pi install npm:codex-computer-use-mcp@0.6.4

Compare v0.6.3 to v0.6.4

v0.6.3

Choose a tag to compare

@tmustier tmustier released this 03 Nov 13:41

Fixed

  • Find ChatGPT and its Computer Use component in ~/Applications as well as /Applications. Missing-component errors now list the paths checked, say what to install, and name the config file and setting for a custom location or a stale override. Signature and Team ID verification are unchanged.
  • Accept a number as well as a string for element_index in click, perform_secondary_action, set_value, select_text and scroll. Numbers are converted to strings before reaching the broker.

Validation

All 65 tests, lint, core and Pi type checks, and the build pass, including a live call through the signed official broker.

pi install npm:codex-computer-use-mcp@0.6.3

Compare v0.6.2 to v0.6.3

v0.6.2

Choose a tag to compare

@tmustier tmustier released this 24 Oct 23:38

Fixed

  • Pass the verified Codex executable path to the nested Computer Use server. This fixes startup failures when the signed client cannot find Codex, including installations that use configured paths. Status now reports the verified path.
  • Build git dependencies and source installs with npm's prepare hook, so they include the compiled files needed to start. Registry installs still use the prebuilt package.

Maintenance

  • Simplify broker setup and status types, remove redundant tests, and add a regression test that installs and starts the package from git.

Validation

All 62 tests, lint, core and Pi type checks, and the build pass. Tests include a live call through the signed official broker and installation from both a tarball and git.

pi install npm:codex-computer-use-mcp@0.6.2

Compare v0.6.1 to v0.6.2

v0.6.1: clear the cursor when a session closes

Choose a tag to compare

@tmustier tmustier released this 13 Oct 18:21
db8a073

Version 0.6.1 clears the Computer Use cursor when a session closes.

Fixed

  • Before this release, the Computer Use software cursor could stay on screen after a session ended, including after cancellation, a timeout or a tool error. Closing a session now tells the shared Computer Use service that the session has ended, so it removes that session's cursor. The service keeps running. @geoqiao contributed this fix in #30, and @BUKOWSKIREAL reviewed it. Thank you both.
  • The cursor cleanup is best effort. If it fails or stalls, a click or typing action that already happened still returns its result, so an agent won't repeat it. Model-turn activity, malformed protocol output and cancellation still fail the call.
pi install npm:codex-computer-use-mcp@0.6.1

Validation

Strict Oxlint, core and Pi type checks, and 62 tests pass, including a live call through the signed official broker. A live check on Computer Use build 1001394 confirmed the fix: after a TextEdit session closed, the cursor window stayed on screen with 0.6.0 and was gone with 0.6.1.

Compare v0.6.0 to v0.6.1

v0.6.0: Computer Use in Pi's codemode

Choose a tag to compare

@tmustier tmustier released this 13 Oct 18:03
c3eb87f

Version 0.6.0 lets Pi agents use Computer Use from Pi's built-in codemode tool. The MCP interface keeps its existing 10 typed methods.

Computer Use in Pi's codemode

  • registers the 10 official methods as Pi tools named computer_use_<method>, such as computer_use_get_app_state and computer_use_click
  • gives them codemode exposure in a computer_use namespace, so agents combine Computer Use calls with other Pi and MCP tools in one script
  • computer_use_get_app_state resolves to { app, text, screenshot }, and image(state.screenshot) shows the screenshot
  • a failed call rejects with the official error text
  • calls after get_app_state reuse one signed Computer Use session until the agent settles
const state = await tools.computer_use_get_app_state({ app: "TextEdit" });
text(state.text);
await tools.computer_use_click({ app: "TextEdit", element_index: "7" });
await tools.computer_use_type_text({ app: "TextEdit", text: "hello" });

The extension does not change which tools are active. Turn on codemode with "defaultTools": ["+codemode"] in settings.json or pi --tools +codemode. If neither codemode nor a Computer Use tool is active, the extension shows one notice at the first prompt.

Dependencies

Upgrade notes

This is a breaking change for Pi:

  • The computer_use({ code }) tool and its sky object are removed. Call the methods from codemode instead.
  • Pi 0.99.0 or newer is required.
  • An explicit --tools list must include the tools you want. Use --tools +codemode to add codemode to the defaults.

The MCP interface is unchanged.

pi install npm:codex-computer-use-mcp@0.6.0

Validation

Strict Oxlint, core and Pi type checks, and 54 tests pass, including a packed-package install and a live call through the signed official broker. A live Pi run used openai-codex/gpt-6.1-sol with Pi's built-in codemode. The model's scripts combined Computer Use calls with read to edit and save a TextEdit file, and the file on disk was checked afterwards. A live MCP stdio list_apps call passed on SDK 1.32.1. A fresh npm install reports no production vulnerabilities.

Compare v0.5.2 to v0.6.0

v0.5.2: accept config files from earlier versions

Choose a tag to compare

@tmustier tmustier released this 28 Sep 15:55
dc72bae

Version 0.5.2 fixes an upgrade failure in 0.5.1.

Versions before 0.5 wrote {"version": 1, "permissionMode": ...} to config.json in the state directory, the same file 0.5.1 reads for codexPath and computerUseAppPath. 0.5.1 rejected the unknown keys, so an upgraded install failed every Computer Use call with a config error. 0.5.2 ignores other keys and still checks that the two path keys are strings.

pi install npm:codex-computer-use-mcp@0.5.2

Compare v0.5.1 to v0.5.2

v0.5.1: Codex path after ChatGPT 26.924

Choose a tag to compare

@tmustier tmustier released this 28 Sep 15:04
9378137

Version 0.5.1 fixes Computer Use after the ChatGPT 26.924 update, and makes the ChatGPT component paths configurable.

Fix

ChatGPT 26.924 moved the Codex app-server from Contents/Resources/codex to Contents/Resources/codex-cli/CodexCLI.app/Contents/MacOS/codex. Version 0.5.0 looked only at the old path, so every call failed with "Signature verification failed for codex". This release uses the new location and falls back to the old one on earlier ChatGPT builds.

Configurable paths

If ChatGPT is installed elsewhere or moves these files again, set either path in config.json in the state directory:

{
  "codexPath": "/Applications/ChatGPT.app/Contents/Resources/codex-cli/CodexCLI.app/Contents/MacOS/codex",
  "computerUseAppPath": "/Users/me/.codex/computer-use/Codex Computer Use.app"
}
  • The adapter reads the file each time a Computer Use session starts, so changes apply without restarting Pi or the MCP server.
  • Configured binaries must pass the same OpenAI signature and Team ID checks as the defaults.

Clearer errors

  • A missing component is now reported as "not found". The message lists the paths checked and the config file to edit. "Signature verification failed" now appears only when a signature check actually fails.
  • /computer-use-status and codex-computer-use-mcp --status show the config path and the current error.

Upgrade

pi install npm:codex-computer-use-mcp@0.5.1
npx codex-computer-use-mcp@0.5.1

Validation

  • Strict Oxlint, core and Pi type checks, and 59 tests pass, including the live signed-broker test on ChatGPT 26.924.22138. That test fails on 0.5.0.
  • In a Pi end-to-end run, the model used computer_use with the default paths.
  • Given a stale codexPath, the model read the error, found the correct binary, updated config.json and succeeded on its next call without restarting Pi.

Compare v0.5.0 to v0.5.1

Upgrade to v0.5.2: 0.5.1 rejects config.json files written by versions before 0.5.