VS Code Codex sidebar stuck on spinner (Ubuntu 24.04, VS Code 1.106.2, Codex extension 0.4.46)

Resolved 💬 10 comments Opened Nov 22, 2025 by grahama1970 Closed Jun 12, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of Codex is running?

codex-cli 0.63.0

What subscription do you have?

GPT-Pro

Which model were you using?

gpt-5, gpt-5.1, Gpt-5.1 codex max

What platform is your computer?

Ubuntu 24.04.3 LTS (noble)

What issue are you seeing?

  • Sidebar never finishes loading; spinner runs indefinitely.
  • No new codex_vscode session is created—only CLI sessions appear.
  • Latest VS Code log directories (e.g., ~/.config/Code/logs/20251122T114816/) remain empty (no renderer/exthost logs).
  • The last logs that did get written (from an earlier attempt) show:

~/.config/Code/logs/20251122T112546/window1/renderer.log
repeated Failed to fetch MCP registry providers Server returned 404.
~/.config/Code/logs/20251122T112546/window1/exthost/openai.chatgpt/Codex.log Codex process fatal error: Codex app-server process exited unexpectedly (signal=SIGTERM).

  • CLI remains functional; only the VS Code extension path is broken.
  • Conclusion
  • Blocked on Codex VS Code extension spinner. CLI functioning rules out auth/model issues in isolation, but the IDE integration fails even after disabling MCP features and forcing gpt-

5.1. Needs core Codex team investigation.

What steps can reproduce the bug?

  1. Launch VS Code with the Codex extension on Ubuntu 24.04.
  2. Ensure settings above are in place and OPENAI_CHATGPT_USE_EXPERIMENTAL_MCP_LSP_SERVER=0 exported.
  3. Open the Codex sidebar (or run “Codex: Open Sidebar”).

What is the expected behavior?

Sidebar loads, contacts the Codex CLI, and records a new session in ~/.codex/sessions/* with "originator":"codex_vscode".

Additional information

  • OS: Ubuntu 24.04.3 LTS (noble)
  • VS Code: 1.106.2 (1e3c50d64110be466c0b4a45222e81d2c9352888, x64)
  • Codex extension: 0.4.46 (~/.vscode/extensions/openai.chatgpt-0.4.46-linux-x64)
  • Codex CLI: v0.63.0
  • ~/.config/Code/User/settings.json includes:

{
"chatgpt.defaultModel": "gpt-5.1",
"chatgpt.useExperimentalMcpLspServer": false,
"openai.chatgpt.useExperimentalMcpLspServer": false,
"chatgpt.cliExecutable": "/home/graham/.bun/bin/codex"
}

  • Shell exports in ~/.zshrc: OPENAI_CHATGPT_USE_EXPERIMENTAL_MCP_LSP_SERVER=0, CHATGPT_USE_EXPERIMENTAL_MCP_LSP_SERVER=0
  • Codex CLI works (codex exec --cd /home/graham/workspace/experiments/oracle --model gpt-5.1 "ping")

View original on GitHub ↗

10 Comments

github-actions[bot] contributor · 8 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #7082
  • #6600
  • #6297
  • #6192

Powered by Codex Action

grahama1970 · 8 months ago

Update (2025-11-22 12:25 UTC)

Forced the VS Code settings to the "safe" combination (chatgpt.defaultModel="gpt-5.1", both chatgpt.useExperimentalMcpLspServer keys = false, and the same env vars exported) and relaunched the sidebar. The CLI continues to work (codex exec --cd /home/graham/workspace/experiments/oracle --model gpt-5.1 "ping" succeeds), but the extension still dies almost immediately.

Fresh exthost logs under ~/.config/Code/logs/20251122T112546/window1/exthost/openai.chatgpt/Codex.log show the crash is because the extension receives MCP notifications it doesn’t understand even though the experimental flag is off:

2025-11-22 12:24:53.052 [error] Unknown MCP notification: codex/event/mcp_startup_complete {...}
2025-11-22 12:24:53.122 [error] Unknown MCP notification: item/started {...}
2025-11-22 12:24:53.123 [error] Unknown MCP notification: codex/event/user_message {...}
2025-11-22 12:25:01.135 [error] Unknown MCP notification: codex/event/reasoning_content_delta {...}
2025-11-22 12:25:01.704 [error] Unknown MCP notification: codex/event/reasoning_content_delta {...}
2025-11-22 12:32:42.014 [error] Unknown MCP notification: item/agentMessage/delta {"itemId":"msg_0e2ccdecdebc6a2e016921f3b9b39481948b9296f46b0b6e58","delta":"~/oracle` (or whatever your config dir is) to see whether the run crashed or just never got a response."}

Every notification from the new MCP bridge is logged as "Unknown" and the panel never produces UI output, so this appears to be an MCP regression inside the extension rather than anything in my config.toml.

grahama1970 · 7 months ago

Update (Nov 23, 2025):
Codex VS Code sidebar eventually unfroze today after the OpenAI incident 01KAPG4EE5JWEV04TPZ2SNNK8X was marked resolved.

While broken (Nov 22–23), the extension spammed Unknown MCP notification: account/rateLimits/updated and turn/completed; the sidebar spinner never completed. CLI remained fine.

Environment: extension 0.4.46, VS Code 1.106.2, Ubuntu 24.04.3 LTS.

Request: please confirm whether a patched extension build is coming to handle these MCP notifications gracefully and whether affected users can expect a credit for the outage.

Happy to attach fresh Codex.log if helpful.

NormanMises · 5 months ago

How can I delete the cache of the mcp server? I once used the same key for two different MCPs, and the new MCP seems to be reporting errors due to the old MCP, causing the physical machine to freeze
old: ace-tool-rs
new: ace-tool

2026-01-30T02:03:44.211037Z  INFO codex_core::codex::handlers: Shutting down Codex instance
2026-01-30T02:03:44.223477Z  INFO codex_core::shell_snapshot: Shell snapshot successfully created: /root/.codex/shell_snapshots/019bff50-ba39-7191-a81e-6f7b45ab289b.sh
2026-01-30T02:05:57.936375Z  INFO codex_core::stream_events_utils: ToolCall: write_stdin {"session_id":17607,"chars":"\^C","yield_time_ms":1000,"max_output_tokens":2000}
2026-01-30T02:06:07.445399Z  INFO codex_core::stream_events_utils: ToolCall: exec_command {"cmd":"cd vlfm && echo 'time:' && date && echo 'loadavg:' && cat /proc/loadavg && echo 'cgroup pids.current/max:' && cat /sys/fs/cgroup/pids.current 2>/dev/null && cat /sys/fs/cgroup/pids.max 2>/dev/null && echo 'npx count:' && (pgrep -x npx | wc -l) && echo 'ace-tool-rs count:' && (pgrep -f 'ace-tool-rs' | wc -l) && echo 'process count:' && (ps -e --no-headers | wc -l) && echo 'top 10 by threads (process-level):' && ps -eo pid,nlwp,comm --sort=-nlwp | head -n 11","yield_time_ms":100000,"max_output_tokens":4000}
2026-01-30T02:06:45.618165Z  INFO codex_core::stream_events_utils: ToolCall: exec_command {"cmd":"cd vlfm && echo 'sample npx:' && ps -C npx -o pid,ppid,stat,etime,args --no-headers | head -n 30 | sed -E 's/(--token) [^ ]+/\\1 <REDACTED>/g'","yield_time_ms":100000,"max_output_tokens":4000}
2026-01-30T02:07:17.562698Z  INFO codex_core::stream_events_utils: ToolCall: exec_command {"cmd":"cd vlfm && p=943; echo \"pid=$p\"; ps -p $p -o pid,ppid,stat,etime,cmd --no-headers | sed -E 's/(--token) [^ ]+/\\1 <REDACTED>/g'; pp=$(ps -p $p -o ppid= | tr -d ' '); echo \"ppid=$pp\"; ps -p $pp -o pid,ppid,stat,etime,cmd --no-headers 2>/dev/null || echo 'ppid not found';","yield_time_ms":100000,"max_output_tokens":2000}
2026-01-30T02:07:40.392375Z  WARN codex_core::codex: stream disconnected - retrying sampling request (1/5 in 203ms)...
2026-01-30T02:07:56.065453Z  INFO codex_core::stream_events_utils: ToolCall: exec_command {"cmd":"cd vlfm && echo 'top npx PPIDs:' && ps -C npx -o ppid= --no-headers | sort | uniq -c | sort -nr | head -n 20","yield_time_ms":100000,"max_output_tokens":2000}
2026-01-30T02:08:25.418404Z  INFO codex_core::stream_events_utils: ToolCall: exec_command {"cmd":"cd vlfm && set -euo pipefail\n\nredact(){ sed -E 's/(--token) [^ ]+/\\1 <REDACTED>/g'; }\n\nsnapshot(){\n  echo '---'\n  date\n  echo -n 'pids.current/max: '\n  cat /sys/fs/cgroup/pids.current 2>/dev/null || true\n  echo -n '/ '\n  cat /sys/fs/cgroup/pids.max 2>/dev/null || true\n  echo -n 'npx total: ' && (pgrep -x npx | wc -l || true)\n  echo -n 'npx ace-tool: ' && (pgrep -af 'npx ace-tool' | redact | wc -l || true)\n  echo -n 'ace-tool-rs: ' && (pgrep -af 'ace-tool-rs' | redact | wc -l || true)\n}\n\necho '[before]'\nsnapshot\n\necho '\\n[kill TERM: only ace-tool-related]'\n# 仅杀 ace-tool 相关,避免误伤其他 npx\npkill -TERM -f 'npx ace-tool' || true\npkill -TERM -f 'ace-tool-rs' || true\nsleep 3\n\necho '\\n[mid]'\nsnapshot\n\necho '\\n[kill KILL: leftovers]'\nif pgrep -f 'npx ace-tool' >/dev/null 2>&1 || pgrep -f 'ace-tool-rs' >/dev/null 2>&1; then\n  pkill -KILL -f 'npx ace-tool' || true\n  pkill -KILL -f 'ace-tool-rs' || true\nfi\nsleep 2\n\necho '\\n[after]'\nsnapshot\n","yield_time_ms":100000,"max_output_tokens":4000}
2026-01-30T02:09:42.297560Z  INFO codex_core::stream_events_utils: ToolCall: write_stdin {"session_id":55350,"yield_time_ms":100000,"max_output_tokens":4000}
ax-openai · 1 month ago

Closing as resolved.

ae-buddy · 5 days ago

This is still a problem.
2026-07-15 13:41:28.612 [info] Activating Codex extension
2026-07-15 13:41:28.612 [info] [CodexMcpConnection] Spawning codex app-server
2026-07-15 13:41:28.612 [info] [IpcRouter] I am the router
2026-07-15 13:41:28.612 [warning] [IpcClient] Received broadcast but no handler is configured method=client-status-changed
2026-07-15 13:41:28.830 [info] [CodexMcpConnection] Initialize received id=1
2026-07-15 13:41:28.967 [warning] [CodexMcpConnection] cli: message="codex_core_plugins::manager: failed to warm featured plugin ids cache error=remote featured plugin request to https://chatgpt.com/backend-api/plugins/featured failed with status 401 Unauthorized: {\"detail\":\"Unauthorized\"}"
2026-07-15 13:41:32.435 [warning] [CodexMcpConnection] cli: message="codex_core_plugins::manifest: ignoring interface.defaultPrompt[0]: prompt must be at most 128 characters path=file:///home/aeshete/.codex/.tmp/plugins/plugins/ngs-analysis/.codex-plugin/plugin.json"
2026-07-15 13:41:32.437 [warning] [CodexMcpConnection] cli: message="codex_core_plugins::manifest: ignoring interface.defaultPrompt[0]: prompt must be at most 128 characters path=file:///home/aeshete/.codex/.tmp/plugins/plugins/ngs-analysis/.codex-plugin/plugin.json"
2026-07-15 13:42:08.050 [info] [IpcRouter] I am the router
2026-07-15 13:42:08.051 [info] [IpcRouter] I am the router
2026-07-15 13:42:08.052 [warning] [IpcClient] Received broadcast but no handler is configured method=client-status-changed

ae-buddy · 5 days ago

@ax-openai - Open this issue , not resolved.

Rafimc13 · 3 days ago

@ax-openai open the issue. We cannot use Codex extension with VSCode.
Codex version: 26.707.91948
VSCode version: 1.129.0

Operating System: Ubuntu 26.04 LTS

AnawaratneMANA · 12 hours ago

Yes, I can confirm this issue as well.

  • Codex version: 26.707.91948
  • VS Code version: 1.129.0 / 1.127.0
  • Operating System: Ubuntu 26.04 LTS

The latest plugin works with the previous VS Code version (v1.106.2); however, it does not work with latest version on Ubuntu 26.04 LTS.

tiapac · 10 hours ago

Not working in vscode 1.129.1
Operating System: Ubuntu 24.04.4 LTS
Codex 26.715.31925 (release) nor Codex 26.5715.31925 (pre-release)