codex - 💡(How to fix) Fix Codex Desktop codex_apps MCP handshake times out while direct wham/apps calls succeed

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Codex Desktop cannot invoke Gmail/GitHub connector tools through the built-in mcp__codex_apps__... tool path. Every connector call fails immediately with:

tool call error: failed to get client

Caused by:
    MCP startup failed: timed out handshaking with MCP server after 30s

This appears to be a Codex Desktop codex_apps MCP client/handshake issue, not a connector authorization issue. Using the same Codex ChatGPT auth token, direct JSON-RPC calls to https://chatgpt.com/backend-api/wham/apps succeed.

Error Message

tool call error: failed to get client

Caused by: MCP startup failed: timed out handshaking with MCP server after 30s

Root Cause

Caused by: MCP startup failed: timed out handshaking with MCP server after 30s

Code Example

tool call error: failed to get client

Caused by:
    MCP startup failed: timed out handshaking with MCP server after 30s

---

tool call error: failed to get client

Caused by:
    MCP startup failed: timed out handshaking with MCP server after 30s

---

tool_name=mcp__codex_apps__gmail_get_profile
success=false
output=Wall time: 0.0051 seconds
Output:
[{"type":"text","text":"tool call error: failed to get client\n\nCaused by:\n    MCP startup failed: timed out handshaking with MCP server after 30s"}]
mcp_server=codex_apps
mcp_server_origin=https://chatgpt.com
app.version=0.133.0
auth_mode="Chatgpt"
originator=Codex_Desktop
model=gpt-5.5
slug=gpt-5.5

---

POST https://chatgpt.com/backend-api/wham/apps

---

initialize: HTTP 200
serverInfo.name: codex-connectors-mcp
serverInfo.version: 0.1.0

---

tools/list: HTTP 200
tool_count: 111
first_tool.name: github_add_comment_to_issue

---

tools/call gmail_get_profile: HTTP 200
isError: false
returns the Gmail profile for the connected account

---

tools/call github_list_user_orgs: HTTP 200
isError: false
returns {"orgs": []}

---

{
  "apps": {
    "github": {
      "id": "connector_76869538009648d5b282a4bb21c3d157"
    }
  }
}

---

{
  "apps": {
    "gmail": {
      "id": "connector_2128aebfecb84f64a069897515042a44"
    }
  }
}
RAW_BUFFERClick to expand / collapse

Codex Desktop codex_apps MCP handshake times out, while direct wham/apps calls with the same token succeed

Summary

Codex Desktop cannot invoke Gmail/GitHub connector tools through the built-in mcp__codex_apps__... tool path. Every connector call fails immediately with:

tool call error: failed to get client

Caused by:
    MCP startup failed: timed out handshaking with MCP server after 30s

This appears to be a Codex Desktop codex_apps MCP client/handshake issue, not a connector authorization issue. Using the same Codex ChatGPT auth token, direct JSON-RPC calls to https://chatgpt.com/backend-api/wham/apps succeed.

Environment

  • OS: macOS 26.5, build 25F71
  • Codex Desktop app bundle version: 26.519.81530
  • Codex app version seen in logs: 0.133.0
  • Model in affected Codex turns: gpt-5.5
  • Reasoning effort in affected Codex turns: high
  • Auth mode: ChatGPT
  • Affected connectors:
    • Gmail: connector_2128aebfecb84f64a069897515042a44
    • GitHub: connector_76869538009648d5b282a4bb21c3d157
  • Plugins enabled in ~/.codex/config.toml:
    • gmail@openai-curated
    • github@openai-curated
  • Reinstalling the latest Codex Desktop did not fix the issue.
  • Recreating/rebuilding ~/.codex state did not fix the issue.

Reproduction

  1. Install/login to Codex Desktop with ChatGPT auth.
  2. Enable/install Gmail and GitHub connectors.
  3. Authorize the connectors successfully through the browser flow.
  4. Start a Codex Desktop thread.
  5. Ask Codex to call a read-only connector tool, for example:
    • Gmail get_profile
    • GitHub list_user_orgs

Actual Behavior

Both connector calls fail through Codex Desktop's built-in tool path:

tool call error: failed to get client

Caused by:
    MCP startup failed: timed out handshaking with MCP server after 30s

Log excerpt:

tool_name=mcp__codex_apps__gmail_get_profile
success=false
output=Wall time: 0.0051 seconds
Output:
[{"type":"text","text":"tool call error: failed to get client\n\nCaused by:\n    MCP startup failed: timed out handshaking with MCP server after 30s"}]
mcp_server=codex_apps
mcp_server_origin=https://chatgpt.com
app.version=0.133.0
auth_mode="Chatgpt"
originator=Codex_Desktop
model=gpt-5.5
slug=gpt-5.5

Expected Behavior

Codex Desktop should initialize the codex_apps MCP server and invoke Gmail/GitHub connector tools successfully.

Evidence That Connector Auth And Backend Work

Using the same Codex auth token from the local Codex session, direct requests to the remote MCP endpoint succeed.

Endpoint:

POST https://chatgpt.com/backend-api/wham/apps

Results:

initialize: HTTP 200
serverInfo.name: codex-connectors-mcp
serverInfo.version: 0.1.0
tools/list: HTTP 200
tool_count: 111
first_tool.name: github_add_comment_to_issue
tools/call gmail_get_profile: HTTP 200
isError: false
returns the Gmail profile for the connected account
tools/call github_list_user_orgs: HTTP 200
isError: false
returns {"orgs": []}

This suggests:

  • The wham/apps backend is reachable.
  • The Codex ChatGPT auth token is valid.
  • The token has connector scopes.
  • Gmail and GitHub connector links exist and can be invoked.
  • The failure is specific to Codex Desktop's built-in codex_apps MCP client/handshake path.

Additional Local State

The plugin app manifests point to the expected connector IDs:

{
  "apps": {
    "github": {
      "id": "connector_76869538009648d5b282a4bb21c3d157"
    }
  }
}
{
  "apps": {
    "gmail": {
      "id": "connector_2128aebfecb84f64a069897515042a44"
    }
  }
}

The local codex_apps_tools cache contains 111 tools, including 90 GitHub tools and 21 Gmail tools, matching the successful direct tools/list result.

Related Issues

This looks similar to:

  • #16550
  • #20167
  • #21995
  • #16360

The closest match appears to be #16550: the endpoint is directly reachable and usable, but Codex's RMCP streamable HTTP handshake path fails.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

codex - 💡(How to fix) Fix Codex Desktop codex_apps MCP handshake times out while direct wham/apps calls succeed