ChatGPT Desktop with Codex
Use the Statewright launcher for local Codex-backed conversations on macOS
ChatGPT Desktop with Codex
The macOS ChatGPT + Statewright launcher connects local Codex/Work conversations to Statewright. It runs the installed ChatGPT app; it does not patch or redistribute it.
An ordinary cloud ChatGPT conversation is different, even when opened in the Desktop app. Use a remote Statewright connector for cloud chats. That connector cannot switch ChatGPT's selected model.
Install and open
- Install ChatGPT Desktop and the Statewright Codex plugin.
- Start a Codex conversation with the plugin enabled. Its startup provisions ChatGPT + Statewright in your user Applications folder.
- Open that launcher from Applications or Spotlight.
- If this gateway has no credential, follow the connection dialog and browser approval before ChatGPT starts. Keep the launcher waiting until it confirms the connection.
- Open a local Codex/Work conversation and ask it to list Statewright workflows.
The profile uses separate ChatGPT user data and a separate App Server process. It may therefore ask for ChatGPT sign-in as well as Statewright sign-in. Those are different accounts and connection steps. Your normal ChatGPT launch is unchanged.
Start or resume a workflow
Ask the conversation to use a named workflow for your task. Statewright exposes its local tools to that conversation; a remote web connector is not a substitute for the launcher's local integration.
You can select an existing local Codex-backed conversation, including one that predates Statewright. Loading history alone does not start a workflow. The launcher allocates a separate workflow/App Server lane for each selected local conversation, preserving its project and saved permissions. A second managed writer to the same thread is refused.
If you see a native permission prompt, review it normally. Connecting to Statewright does not approve tools, expand file access or resolve review gates.
Follow progress and answer questions
Arbiter activity identifies the phase and requested route. Workflow tool results provide the current state, available tools and transition outcome. Read those results alongside the actual work and checks; a transition alone is not proof that the requested model executed or that a test passed.
Workflow review gates pause the dependent work and present a native decision form when your account is authorized. Ordinary non-blocking questions can stay open while independent work continues. Closing a card, leaving a default selected or not answering is never approval.
If the conversation stops following the latest activity, use its down-arrow control to return to the bottom. Statewright does not promise automatic scroll control over the host interface.
Finish, deactivate or return to ordinary ChatGPT
When the workflow reaches a final state, inspect its outcome and evidence.
To stop using the workflow earlier, ask for statewright_deactivate.
Closing a question or browsing another chat is not deactivation.
Open normal ChatGPT to use it without the Statewright launcher. Do not terminate another live session to resolve a writer conflict; return to the owning session or close it deliberately first.
Connection and upgrade recovery
- Browser says completed but launch has not finished: wait for the launcher to receive, verify and store the credential. See OAuth login.
- Credential store unavailable: unlock the OS store. A saved plaintext key is not proof this Desktop profile can read its gateway credential.
- Tools not ready: wait for initialization. If it reports failure, preserve the error and restart the affected profile normally; do not start a duplicate writer.
- Missing launcher/runtime after an update: restart Codex with the current plugin so setup can refresh the configured launchers. Runtime snapshots live outside the plugin cache to survive cache cleanup.
The GUI remains the native ChatGPT executable. Statewright uses a separate bridge companion; the native dispatcher preserves the bundled Codex executable for its other modes.
Current boundaries
This launcher is experimental and macOS-only. Forking a chat and changing profile-wide settings through the multi-chat broker are not supported. Per-chat settings remain scoped to their owner. There are at most 16 resident lanes, including discovery; active work is not evicted to free a lane.
Keep local Desktop acceptance separate from web-connector testing. See Codex reference for developer diagnostics and explicit gateway profiles.