openai / openai/codex

Desktop app 26.820.7780.0: resuming WSL-hosted threads fails with "invalid transport in mcp_servers.codex_app"

Open
#40,819 65 comments 54 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app app-server bug mcp windows-os
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Environment

  • ChatGPT/Codex desktop app (MS Store, OpenAI.Codex), version 26.820.7780.0, auto-updated 2026-08-26
  • Windows 11 + WSL2 Ubuntu 26.04, [desktop] runCodexInWindowsSubsystemForLinux = true
  • Bundled codex: 0.150.0-alpha.8 (WSL agent at ~/.codex/bin/wsl/<hash>/codex)
  • Affected threads were created with cli 0.149.0-alpha.4.1

Problem

After the app auto-updated to 26.820.7780.0, resuming any WSL-hosted thread fails with:

ChatGPT can't load config.toml, so this thread can't resume.
Fix config.toml: invalid transport in mcp_servers.codex_app

Root cause (verified via app-server JSON-RPC reproduction)

The app sends thread/resume with a request-level config containing:

"mcp_servers.codex_app": {"enabled": true}

with no command/url. Codex (both 0.149 and 0.150) rejects any MCP entry without a transport:

failed to load configuration: invalid transport in `mcp_servers.codex_app`

Notes:

  • The entry is assembled in-memory by the app (the codex-app-tools plugin's desktop-mcp.json does contain command: cmd.exe, but the transport fields are lost on the WSL path). Nothing is wrong with the user's config.toml, despite the error message telling the user to "fix config.toml".
  • Request-level config replaces any file-level [mcp_servers.codex_app] table, and disabling the plugin does not stop the injection, so there is no config-level workaround.
  • Only the WSL code path produces the transport-less entry.

Workaround

Setting [desktop] runCodexInWindowsSubsystemForLinux = false (the Windows code path always sends a valid entry) — threads resume normally afterwards.

Expected fix

Include command/args in the WSL-path codex_app config, or omit the entry entirely when the transport cannot be resolved.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Trace the WSL path that builds the request-level mcp_servers.codex_app entry, using the app-server JSON-RPC reproduction and codex-app-tools/desktop-mcp.json as starting points. Verify how the transport fields are lost, then confirm completion by resuming WSL-hosted threads without the invalid-transport error while preserving the working Windows path.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, rust
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.