Codex Status 432: Fix "Workspace Routing Is Unavailable" Safely

Codex Status 432: Fix "Workspace Routing Is Unavailable" Safely

Todd Mercer

Blue and coral routes meet a luminous amber boundary while a teal path continues around it.

Codex Status 432: Fix "Workspace Routing Is Unavailable" Safely

If Codex Desktop on Windows shows Workspace routing is unavailable with status 432, do not start by deleting local state, reinstalling the app, or rotating credentials. Recent public reports point to a desktop-to-app-server routing mismatch: the app can still know who you are, the web app and CLI can still work, but desktop-only routes for tasks, usage, settings, plugins, or onboarding fail. In one inspected failure path, the desktop generated status 432 locally before issuing the affected backend request; the same status can still have a different cause in another build.

The safest first check is whether Codex Desktop is launching a different CLI or app-server than the one bundled with the desktop app. Inspect CODEX_CLI_PATH and the versions recorded in the desktop logs. Preserve the current path and version before changing anything. If the override is unnecessary and the desktop log confirms it is selected, remove only that override, fully exit Codex Desktop, and relaunch it once. Do not delete the referenced binary, .codex directory, authentication files, conversations, or repository data.

This guide is based on a September 18-21, 2026 cluster of Windows reports. It explains a bounded recovery, not an official root-cause statement. OpenAI had not published a general status-432 recovery procedure when this guide was reviewed.

Confirm That This Is the Same Failure

The exact error matters. Look for this combination:

  • Codex Desktop logs include Workspace routing is unavailable and status 432.

  • Desktop features such as /settings/user, /wham/usage, /wham/tasks/list, /models, or onboarding fail.

  • The ChatGPT web app still works with the same account.

  • Codex CLI may still authenticate and run normally.

  • Desktop may still display the signed-in email address even though profile or workspace data is missing.

The original Codex issue 46382 documented successful local account/read and getAuthStatus calls alongside repeated desktop route failures. A newer issue 46941 reported the same status on a personal account that was incorrectly pushed into a Work shell. That recurrence is why status 432 should be treated as a routing symptom, not automatic proof that the password, token, workspace, or local repository is broken.

Stop and use a different diagnostic path if ChatGPT web, Codex CLI, and unrelated network requests all fail. That broader failure does not match the desktop-only boundary described here.

Why Reinstalling Is a Poor First Test

The issue thread includes attempts to sign out, reset the app, reinstall it, replace the Electron profile, remove MCP servers, change networks, and rebuild authentication state. Those actions did not consistently resolve the failure.

They also change several variables at once. A reinstall can hide the useful evidence that distinguishes:

  1. a valid account from an invalid session;

  2. a working CLI from a failing desktop bridge;

  3. a bundled runtime from a user-selected override; and

  4. local task state from remote workspace routing.

Preserve the evidence first. Record the desktop build, CLI or app-server version, Windows version, whether CODEX_CLI_PATH is set, and which routes return 432. Redact account IDs, cookies, tokens, and private task content before sharing logs.

Step 1: Check for a CLI Override Without Changing It

Open PowerShell outside Codex Desktop and run these read-only checks:

[Environment]::GetEnvironmentVariable("CODEX_CLI_PATH", "Process")
[Environment]::GetEnvironmentVariable("CODEX_CLI_PATH", "User")
[Environment]::GetEnvironmentVariable("CODEX_CLI_PATH", "Machine")
codex --version

An empty result means that scope has no CODEX_CLI_PATH value. A populated result means the desktop app may inherit a specific executable path after a full restart.

Do not assume every override is wrong. Teams use overrides for development builds, managed installations, or temporary compatibility work. Save the exact value and check why it exists before removing it.

Step 2: Compare the Desktop and Runtime Versions

Open About Codex and record the desktop version. Then inspect the desktop log around startup for the selected executable and app-server version. Relevant fields reported in the public issue included:

source=override
executablePath=...
app-server version=...

Several affected users reported desktop builds in the 26.915.x line selecting app-server or CLI 0.155.0 or 0.155.1. Controlled tests in the issue showed the same desktop build working with 0.154.0 and failing with 0.155.x.

That is evidence of a compatibility boundary in those environments, not permission to install an older binary from an unverified source. Do not downgrade solely because another user's rollback worked. A rollback can reintroduce fixed security or data-handling bugs, and OpenAI had not documented it as the supported repair.

Step 3: Remove Only an Unneeded Override

If all of the following are true, test the smallest reversible change:

  • CODEX_CLI_PATH is set at user or machine scope;

  • it points to a separately installed or independently updated CLI;

  • you do not need that override for a managed or development setup; and

  • the desktop log confirms that Codex is selecting it.

Remove the environment variable through Windows Environment Variables, then fully exit every Codex Desktop window and launch the app once. Removing the variable is different from deleting the CLI or its data. Keep the saved value so you can restore the configuration if it was intentional.

The reporter who opened issue 46382 said removing the custom CODEX_CLI_PATH fixed their machine. Other commenters reproduced status 432 without that variable, so this is a classifier and bounded repair, not a universal fix.

If the variable is absent, or the desktop still fails after one clean relaunch, stop changing local state. Wait for a compatible desktop/runtime update or attach the sanitized version evidence to the current upstream issue.

Step 4: Verify Recovery Before Resuming Work

Do not judge recovery from the account menu alone. Check the smallest set of previously failing surfaces:

Check

Recovery signal

Account or settings

Profile data loads without status 432

Usage

Usage surface opens and returns current data

Tasks

Existing task list loads without creating a duplicate task

Plugins or tools

Existing catalog loads without reinstalling integrations

Local repository

git status --short matches the state from before the incident

If a task was already running when the UI failed, verify its state before resending the instruction. The separate Codex loading-screen recovery guide explains how to distinguish a failed window from a task that is still alive.

Before any browser or provider write, use the Codex authentication preflight to prove that the intended account and tool path are available. A successful desktop relaunch does not prove that a pending external write never ran.

Check the Current Upstream Issue With Aident Loadout

This failure changed across multiple Codex builds in a few days. Verify current issue state before following an old workaround.

After setting up Aident Loadout, discover the exact GitHub Action rather than copying a stale tool name:

aident capabilities search \
  --query "GitHub get one public issue by owner repository and issue number" \
  --types '["action"]' \
  --scope '{"integrationId":"github_tools"}' \
  --targetEnv staging

Inspect and preflight the current contract:

aident capabilities get \
  --name "composio:github_tools:github_get_an_issue"

aident capabilities preflight \
  --name "composio:github_tools:github_get_an_issue" \
  --input '{"owner":"openai","repo":"codex","issue_number":46941}'

The reviewed September 20 preflight accepted that exact input and quoted $0.00. A free quote validates the current input and cost boundary; it does not turn a broad GitHub connection into permission for unrelated writes. Approve only the one public issue read, then compare its state, update time, labels, and comments with the version on your machine.

For the broader discovery, preflight, and execution loop, continue with How to Use Aident Loadout.

What Not to Do

Avoid these actions until a supported repair or controlled rollback plan exists:

  • deleting .codex, local databases, task history, or repository files;

  • replacing authentication files because status 432 appears;

  • disabling every MCP server or plugin at once;

  • installing an older binary from an unofficial location;

  • pinning a runtime indefinitely without tracking the desktop compatibility requirement;

  • repeating an external write because the task list failed to load; or

  • treating a closed issue as proof that every reproduction is fixed.

Issue 46382 was closed after the original reporter fixed their override, but later comments documented reproductions without CODEX_CLI_PATH, including controlled 0.155.x versus 0.154.0 tests. Issue 46941 remained open when reviewed on September 20. The safe conclusion is narrow: check the selected runtime, remove only an unnecessary override, preserve state, and escalate with version evidence when the mismatch remains.

Sources

Verify Before You Reset

Set up Aident Loadout and inspect the current public issue contract before deleting local state or following a version-specific workaround. Keep the check read-only, save the current desktop and app-server versions, and require a clean read-back before resuming any external write.

About the author

Illustrated editorial avatar of Todd Mercer

Todd Mercer

Todd Mercer is an editorial pen name used by Aident's developer-tools team. This column covers agent CLI configuration, MCP connectivity, authentication, permissions, and troubleshooting. Guides focus on observable symptoms, documented fixes, reproducible checks where available, and the limits of each workaround.

Home

Home

Home

Integrations

Integrations

Integrations

Vault

Vault

Vault

Audit

Audit

Audit

Arana Grande

Arana Grande

Arana Grande

Free

Free

Free

30-day audit summary

30-day audit summary

30-day audit summary

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

View Audit

View Audit

View Audit

Loadout usage

Loadout usage

Loadout usage

617 action calls in the last 30 days

617 action calls in the last 30 days

617 action calls in the last 30 days

May 19 - Jun 17

May 19 - Jun 17

May 19 - Jun 17

10 active days

10 active days

10 active days

Less

Less

Less

More

More

More

Recent activity

Recent activity

Recent activity

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Shopify

Shopify

Shopify

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Success

Success

Success

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Success

Success

Success

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Failed

Failed

Failed

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Connected integration coverage

Connected integration coverage

Connected integration coverage

162

162

162

of 753 accessible connected

of 753 accessible connected

of 753 accessible connected

Callable actions

Callable actions

Callable actions

1,126

1,126

1,126

Vault credentials

Vault credentials

Vault credentials

8

8

8

Explore what's possible

Explore what's possible

Explore what's possible

See all Integrations

See all Integrations

See all Integrations

Google Ads

Google Ads

Google Ads

All available Goolge Ads tools via...

All available Goolge Ads tools via...

All available Goolge Ads tools via...

X (twitter)

X (twitter)

X (twitter)

All available X tools via...

All available X tools via...

All available X tools via...

Github

Github

Github

All available Github tools via...

All available Github tools via...

All available Github tools via...

Notion

Notion

Notion

All available Notion tools via...

All available Notion tools via...

All available Notion tools via...

Slack

Slack

Slack

All available Slack tools via...

All available Slack tools via...

All available Slack tools via...

Firecrawl

Firecrawl

Firecrawl

All available Firecrawl tools via...

All available Firecrawl tools via...

All available Firecrawl tools via...

753 integrations are available for loadouts.

753 integrations are available for loadouts.

753 integrations are available for loadouts.

The one tool

for every tool

your agent needs.

Give any AI agent real capabilities in seconds. Connect 27,000+ tools once, skip the setup headache, and let your agents execute.

Try Aident Loadout

Empower your Codex or OpenClaws to get real jobs done. Connect 27,000+ tools in one prompt, and let your agents deliver real results.

Try Aident Loadout

Empower your Codex or OpenClaws to get real jobs done. Connect 27,000+ tools in one prompt, and let your agents deliver real results.

Try Aident Loadout

Empower your Codex or OpenClaws to get real jobs done. Connect 27,000+ tools in one prompt, and let your agents deliver real results.