Codex hangs on startup at 'Starting MCP servers (2/3): codex_apps'
Open 💬 2 comments Opened Apr 29, 2026 by majiayu000
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
Summary
Codex CLI frequently appears frozen at startup on:Starting MCP servers (2/3): codex_apps
Environment
- Codex CLI:
0.125.0 - OS: macOS
26.3 (25D125) - Host: Apple Silicon
- Date observed: 2026-04-29
Repro
- Start
codexin terminal. - Observe startup status line.
- It often stays on
Starting MCP servers (2/3): codex_appsfor a long time (minutes in user sessions).
Expected
Startup should either:
- complete quickly, or
- fail fast with an explicit actionable error (network/auth/backend status) instead of appearing hung.
Actual
The UI appears stuck on codex_apps startup for a long time.
Evidence from local logs
From ~/.codex/log/codex-tui.log:
2026-04-27T07:24:29.633581Z
failed to force-refresh tools for MCP server 'codex_apps' ... MCP startup failed: timed out handshaking with MCP server after 30s
2026-04-28T08:28:02.773239Z
failed to force-refresh tools for MCP server 'codex_apps' ... HTTP request failed ... url (https://chatgpt.com/backend-api/wham/apps)
2026-04-22T07:19:09.903833Z(and multiple similar entries)
failed to force-refresh tools for MCP server 'codex_apps' ... error sending request for url (https://chatgpt.com/backend-api/wham/apps)
Notes
- This looks like connector startup / handshake resilience issue.
- Even when eventual fallback may happen, UX currently resembles a freeze.
Suggested fix
- Add clear startup timeout UX for
codex_appswith visible reason. - Degrade gracefully: continue startup with cached tools and explicit warning banner.
- Include retry backoff with user-visible status (attempt count + elapsed time).
2 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Still reproducible on Codex CLI 0.145.0 (Linux x86_64).
Local diagnostics show that
codex_appsinitialization encountered a retryable transport error:connection closed before message completedThe first initialization exceeded the generated
startup_timeout_sec = 30, but a background retry succeeded approximately 32 seconds after startup. As a result, the TUI reported incomplete MCP startup even thoughcodex_appsbecame available shortly afterward.The local
codex_appstool/server metadata caches were already populated. A more resilient startup strategy would be:This would prevent transient connector transport failures from delaying unrelated local coding sessions.