codex - 💡(How to fix) Fix Codex Desktop: official app connectors fail to initialize with JsonRpcMessage deserialize error

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…

Official codex_apps connectors fail before tool execution in Codex Desktop. The failure is persistent across app restart and after removing/re-adding the connectors.

This is not limited to one connector or one action: read-only Gmail, Google Drive, and GitHub connector calls all fail with the same MCP startup / JSON-RPC deserialize error. Browser access to Gmail still works for the same Google account, so this does not look like a basic Google login/session issue.

Error Message

tool call error: failed to get client

Caused by: MCP startup failed: Transport send error: Transport [rmcp::transport::worker::WorkerTransport<rmcp::transport::streamable_http_client::StreamableHttpClientWorker<codex_rmcp_client::http_client_adapter::StreamableHttpClientAdapter>>] error: Deserialize error: data did not match any variant of untagged enum JsonRpcMessage

Root Cause

Caused by: MCP startup failed: Transport send error: Transport [rmcp::transport::worker::WorkerTransport<rmcp::transport::streamable_http_client::StreamableHttpClientWorker<codex_rmcp_client::http_client_adapter::StreamableHttpClientAdapter>>] error: Deserialize error: data did not match any variant of untagged enum JsonRpcMessage

Code Example

tool call error: failed to get client

Caused by:
    MCP startup failed: Transport send error: Transport [rmcp::transport::worker::WorkerTransport<rmcp::transport::streamable_http_client::StreamableHttpClientWorker<codex_rmcp_client::http_client_adapter::StreamableHttpClientAdapter>>] error: Deserialize error: data did not match any variant of untagged enum JsonRpcMessage

---

WARN codex_core::connectors ... failed to force-refresh tools for MCP server 'codex_apps', using cached/startup tools: failed to get client: MCP startup failed: Transport send error: Transport [rmcp::transport::worker::WorkerTransport<rmcp::transport::streamable_http_client::StreamableHttpClientWorker<codex_rmcp_client::http_client_adapter::StreamableHttpClientAdapter>>] error: Deserialize error: data did not match any variant of untagged enum JsonRpcMessage
RAW_BUFFERClick to expand / collapse

Summary

Official codex_apps connectors fail before tool execution in Codex Desktop. The failure is persistent across app restart and after removing/re-adding the connectors.

This is not limited to one connector or one action: read-only Gmail, Google Drive, and GitHub connector calls all fail with the same MCP startup / JSON-RPC deserialize error. Browser access to Gmail still works for the same Google account, so this does not look like a basic Google login/session issue.

Environment

  • App: Codex Desktop
  • App version: 26.513.31313
  • Bundle version: 2867
  • Bundle id: com.openai.codex
  • OS: macOS 26.4.1 build 25E253
  • Architecture: arm64
  • Project trust level: trusted local project
  • Affected installed plugins/apps observed: gmail@openai-curated, google-drive@openai-curated, github@openai-curated

Repro steps

  1. In Codex Desktop, enable/connect Gmail and Google Drive connectors.
  2. Restart Codex.
  3. From a trusted local project/thread, call a read-only Gmail action such as _list_labels.
  4. Call a read-only Google Drive action such as _list_drives.
  5. Remove/re-add the connectors and restart Codex, then repeat the same read-only calls.
  6. Try an official GitHub connector call such as creating an issue; it fails with the same connector startup error.

Expected behavior

The official connector client initializes and returns Gmail labels / Drive metadata / GitHub API results, or returns a clear auth/permission error if the connection is invalid.

Actual behavior

Official connector calls fail before reaching the backing service with this error:

tool call error: failed to get client

Caused by:
    MCP startup failed: Transport send error: Transport [rmcp::transport::worker::WorkerTransport<rmcp::transport::streamable_http_client::StreamableHttpClientWorker<codex_rmcp_client::http_client_adapter::StreamableHttpClientAdapter>>] error: Deserialize error: data did not match any variant of untagged enum JsonRpcMessage

The local Codex log also shows connector refresh failures around reinstall/reconnect attempts:

WARN codex_core::connectors ... failed to force-refresh tools for MCP server 'codex_apps', using cached/startup tools: failed to get client: MCP startup failed: Transport send error: Transport [rmcp::transport::worker::WorkerTransport<rmcp::transport::streamable_http_client::StreamableHttpClientWorker<codex_rmcp_client::http_client_adapter::StreamableHttpClientAdapter>>] error: Deserialize error: data did not match any variant of untagged enum JsonRpcMessage

Impact

Scheduled automations that rely on Gmail/Drive cannot reliably read, label, update trackers, or send messages. In this case, an 8 PM automation prepared an update but could not complete delivery through Gmail; the user had to authorize a manual Chrome/Gmail fallback. Google Sheet tracker reads also failed.

The GitHub connector also failed when attempting to file this report from inside Codex, so this issue was created via the authenticated local gh CLI instead.

Privacy note

I am not attaching raw logs because they contain private project prompts/mail context. Happy to provide a more targeted sanitized excerpt if there is a specific log pattern or file that would help.

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…

FAQ

Expected behavior

The official connector client initializes and returns Gmail labels / Drive metadata / GitHub API results, or returns a clear auth/permission error if the connection is invalid.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING