💡 What this guide covers: messages that spin, queue, or disappear; a frozen Codex panel while VS Code works; missing session history; login failures;
codex: command not found; and MCP problems. Start with a general checklist, then identify tool bugs, reported workarounds, and actions to avoid.
More Codex articles: Save Effort · Codex
Where people get stuck
Separate these three symptom groups, then check versions, logs, and local records:
- Messages won’t send: spinning, queued, or disappearing messages were reported by several users on October 1–3, 2026, in GitHub #49991 and #50118.
- Codex freezes while VS Code works: users recorded extension-process blocking, message backlogs, and server-overload logs in #22393.
- Older sessions disappear from history: some users found that local databases and session files were still intact, despite missing entries in the VS Code list; see #21244.
For complex edits that fail in one pass and confused task context, see safe code changes and long tasks and session management.
A few points of context:
- The Windows extension spent a long time marked experimental. Occasional lag and MCP problems have been common.
- The early-October 2026 queue failures were bugs in specific versions, not simply user error. Don’t immediately blame yourself or rebuild your environment.
- Read the relevant GitHub issue and match the version, environment, and reproduction conditions before repeatedly changing settings.
1. Six things to do first
- Check the version. Find the
openai.chatgptversion in VS Code’s Extensions panel. For the CLI, runcodex --version. Later diagnosis depends on this. - Search GitHub. Look up your version or symptom in openai/codex Issues. Many same-day reports of identical behavior strongly suggest a version bug; wait for a fix or roll back.
- Save logs before restarting. Restarts can temporarily fix symptoms and make evidence harder to find. Save a copy first; locations are in section four.
- Don’t delete
.codexor rush to clear caches. It contains sessions and settings. A missing list entry does not prove the underlying data is lost; see section five. - Run
/status. Check model, permissions, directory, and remaining context. A task that “won’t work” may involve the wrong model, read-only mode, wrong directory, or too much conversation history. Make this your first troubleshooting reflex. - Submit feedback while it is stuck. Some users obtained a Feedback ID during a freeze and included it in their issue. The live failure gives OpenAI more complete diagnostic information than a report after restarting.
2. Quick symptom lookup
| Symptom | Likely cause | First steps | Details |
|---|---|---|---|
| Ordinary messages spin or show steer/pending | Queue bugs in certain October 2026 extension versions | Up arrow, then Enter, retrying 2–3 times; Reload Window | Section 3 |
| A completed turn still sends follow-ups into a queue | Thread incorrectly remains in a streaming state | Restart Extension Host; fully quit and reopen VS Code | Section 3 |
| Sent messages disappear | Same queue bug | Up arrow often retrieves the text from input history | Section 3 |
| Codex panel is unresponsive while VS Code works | Windows extension-process blocking and backlogs | Reload Window or restart the project window; save logs | Section 4 |
| A normal task stops without an error or result | Same problem | Record a Feedback ID, then restart the project window | Section 4 |
| Old sessions are absent from history | List and local index out of sync; data usually remains | Open by session ID; don’t edit local records | Section 5 |
| Browser authorization finishes but terminal reports failure | Network, browser cache, or sign-in state | Check connection, clear browser cache, sign out and back in | Section 6 |
codex: command not found | Installation failure or npm global path missing from PATH | Reinstall; inspect npm config get prefix | Section 7 |
| Environment variable is still missing after configuration | App not fully restarted | Fully quit and reopen Codex; restart the computer if needed | Section 8 |
| Third-party model connects but cannot work | Provider lacks Responses API support | Choose a compatible model or provider | Section 8 |
| MCP does nothing or generates errors | Settings not loaded, old session, or known Windows problem | Inspect configuration, start a new session, request the tool by name | Section 9 |
3. Messages won’t send, keep spinning, or queue themselves
This was a concentrated set of failures in early October 2026. After the October 1 automatic update to 26.928.31416, many users reported intermittent problems.
Typical symptoms
- An ordinary message shows steer/pending without any steering action.
- A message spins indefinitely.
- A sent message disappears.
- The interface behaves as though the previous turn is unfinished.
- Even after the previous turn finishes, the next message stays queued.
- A queued message vanishes, but the Up arrow retrieves its text, showing it remains in input history.
- When the queue finally releases, repeated attempts become duplicate user messages.
- Screenshots show the same follow-up queued twice beneath the previous response.
- Some users reported lost keyboard input and broken shortcuts.
- In severe cases, no message gets through; retries queue or disappear until VS Code is restarted.
Frequency varied: every few messages, almost every other message, or intermittent failures followed by a successful message. Even a simple type ok prompt could trigger it; a coding task was not required.
Reported versions and platforms
| Extension version | Platform / notes |
|---|---|
| 26.928.31416 | Windows and Ubuntu; problems after the October 1 update |
| 26.928.40906 | Intel macOS and Windows |
| 26.5928.31416, pre-release | Linux and Apple M1 Pro; changing channels did not help |
| 26.930.21537 | Windows, stable |
| 26.930.31428 | Windows |
| 26.930.31730 | Windows, bundled codex-cli 0.160.0 |
This was not limited to one operating system. Reports covered Windows, Intel and M1 Macs, Ubuntu/Linux, stable releases, and pre-releases.
What to look for in logs
Use the locations in section four and search for:
latestTurnStatus=completedtogether withmarkedStreaming=true: the turn is complete, but the thread remains marked as streaming, so the next message queues.Failed to release queued message send lock ... "undefined" is not valid JSON: a common warning.Received broadcast but no handler is configured method=thread-queued-followups-changed: an unhandled queue-change broadcast.httpStatus=403andcloudflare_challenge: often present, but a reporter explicitly noted no evidence of a causal relationship with the queue failure.
One user isolated the code behind the JSON warning and found a response-parsing failure after successful lock release. The warning alone does not prove the lock remained held, and fixing that parser does not prove all queue problems are solved.
The same user inspected User/globalStorage/state.vscdb in read-only mode, under openai.chatgpt → queued-follow-ups. Nine queued entries remained across six conversations; several had already reached conversation history. Local queue state and real history did not match. The user did not modify the extension or database. Neither should you.
Temporary workarounds, least disruptive first
- Up arrow + Enter: retrieve and resend. Some users needed 2–3 retries or around three attempts per successful message.
- Ctrl+Enter: one user reported that Enter during ongoing work could lose a message, an older bug seen 2–3 months earlier. Ctrl+Enter could still freeze the UI but at least kept the message.
- New session: test whether only the current thread is affected. Save the task and logs first; don’t delete the old session.
- Reload Window: run “Developer: Reload Window” from the command palette, Ctrl+Shift+P.
- Restart Extension Host: #50084 reports this workaround. Run “Developer: Restart Extension Host.”
- Fully quit and reopen VS Code: some users needed more than a reload. Others saw recurrence even after restart, so this remains temporary.
- Roll back the extension: choose the gear icon → “Install Specific Version…” and select an older version. One reported trade-off: 26.917.62051 worked but did not support GPT-6.1 Sol.
- Disable this extension’s automatic updates after rollback so it doesn’t immediately return to the faulty version. Re-enable them after GitHub confirms a fix.
Reloads, new sessions, and rollbacks are version-specific workarounds. There is no evidence they work in every case.
Things tried that did not identify the root cause
- Updating Git: an older Git lacked
git add --sparse, which Codex used while recording changes. Updating fixed that incompatibility but not the queue problem. Old Git can still cause separate problems, so updating may be useful. - Setting
chatgpt.followUpQueueModetoqueueorsteer: both reproduced the failure. - Switching to pre-release: still failed for some users.
- Downgrading the CLI: one user temporarily installed an older CLI, then returned to 0.160.0. The extension itself was not successfully downgraded and the issue remained. This failure was on the extension side.
Related issues
- #49991 was closed as a duplicate of #49988, about intermittent message loss after updating. Follow #49988 and #50118 for progress.
- Other reports: #49943, Cloudflare 403 and send-lock failure; #49949, spinning after a few messages; #49968, queued follow-ups and repeated execution after restart; #49955, follow-up waiting after completion; #50047, recurring freezes and JSON warning; #49854, follow-up stuck sending; #49975; #50084, Extension Host restart; and #50365, further queue-code analysis.
4. Slow or frozen panel on Windows
Unlike a single unsent message, this affects the whole Codex panel while the rest of VS Code works. It is primarily reported on Windows in #22393.
Typical symptoms
- VS Code reports an unresponsive Extension Host.
- Even one ordinary task freezes.
- A new session also freezes.
- The final command finishes, but Codex stops thinking and running commands without a final response or user interruption.
- Local
codex.exeremains running, with no timeout, server error, or exhausted allowance. - Sessions later show
turn_abortedwith reasoninterrupted. - The standalone Windows App has similar symptoms, suggesting a shared Windows App/backend communication issue, not just the extension.
Reported versions include extension 26.506.31421 with codex-cli 0.130.0, and extension 26.715.61943 with codex-cli 0.145.0-alpha.27, on Windows 11 and VS Code 1.129.1.
Log patterns
outbound queue is full: 946 occurrences in one observation and 1,032 in another.Server overloaded; retry later: 248 and 106 occurrences.- Plugin-list and telemetry requests blocked by Cloudflare 403.
- MCP
-32601: Method not found: optional features such as resource listing may not be implemented. This can be noise, not the cause. - On non-English Windows, localized
taskkilloutput, such as Portuguese termination messages, gets parsed as JSON and fails. - Unsupported
workspace_dependencies: the extension repeatedly tries to enable a feature its bundled backend lacks. - It runs
wsl.exe --statuseven without WSL installed, producing startup-probe errors.
After Reload Window, both queue-full and overload counts dropped to zero on the same machine, though they could recur later.
Log locations
VS Code on Windows:
%APPDATA%\Code\logs\<session>\window1\renderer.log
%APPDATA%\Code\logs\<session>\window1\exthost\openai.chatgpt\Codex.log
%TEMP%\exthost-*.cpuprofile
<session>corresponds to a VS Code launch; find the latest folder by time.- VS Code generates
exthost-*.cpuprofilewhen it detects an unresponsive Extension Host.
Codex App on Windows:
%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\Codex\Logs
For the CLI, set log_dir in config.toml, which also creates a plain-text codex-tui.log. See configuration.
Count important errors quickly
This PowerShell reads logs without changing anything. Replace the path with yours:
$log = "$env:APPDATA\Code\logs\<session>\window1\exthost\openai.chatgpt\Codex.log"
"outbound queue is full","Server overloaded","not valid JSON","cloudflare_challenge","markedStreaming=true" | ForEach-Object {
"{0}: {1}" -f $_, (Select-String -Path $log -SimpleMatch $_).Count
}
Large counts show the extent of the problem and can accompany feedback. They are a snapshot, not an error rate.
Temporary workarounds
- Reload Window or restart the project’s VS Code window for temporary recovery.
- Submit feedback and save the Feedback ID before restarting.
- If using WSL, the relevant setting is
chatgpt.runCodexInWindowsSubsystemForLinux. Avoiding WSL probes when WSL isn’t in use requires an official fix. - A reporter modified the extension package to bypass WSL probing. This is not recommended for ordinary users: updates overwrite it, and mistakes make diagnosis harder.
Related issues: #21806, intermittent Remote-SSH panel freezes; #19437, Windows App blank screen/spinner and repeated workspace_dependencies errors; #19366, connector-icon fetching causing overload; and #20599, backend CPU at 70–90% under WSL with queue-full errors.
5. Old sessions missing from history
Don’t panic: the data is often still there
The #21244 reporter, using openai.chatgpt@26.429.30905, codex-cli 0.128.0, and VS Code 1.118.1 arm64, found missing history entries whose data remained locally:
- SQLite state database:
~/.codex/state_5.sqlite. - Session records:
~/.codex/sessions/.../rollout-*.jsonl. - At least one also appeared in
session_index.jsonl. - Opening directly by local session ID recovered them.
That points to a list-display problem, not lost data.
How to reopen a session
- Use its ID: run
codex resume <session-id>. Some users reported thatcodex resume --allomitted sessions that still opened directly by ID; see #20165. - Search local records read-only: search
rollout-*.jsonlin~/.codex/sessions/for keywords, find the ID, and reopen it. Search only; don’t edit. - Third-party tools: Codex Migrate for Mac can search local records read-only and export conversations. It is unofficial, does not repair the sidebar, and may miss some record formats. Evaluate it yourself before use.
What not to do
- Don’t edit JSONL or SQLite files manually. If those records are intact, don’t change them just to make the sidebar show them. Opening by ID is a fallback until an official fix, although it is less useful if you cannot identify the session.
- Don’t delete
.codexor clear its cache. That can turn a display problem into real loss.
Another case: switching devices or interfaces
A Windows user running /goal in the same session switched between VS Code and Codex Desktop. Returning showed an older state in both interfaces. The Goal remained active, but the last turn looked interrupted and the session showed notLoaded. The local rollout file contained the full history and kept growing: the backend was working while the UI was out of sync. Check whether the rollout file is growing rather than trusting the displayed state alone.
Make future recovery easier
- Record important session IDs from the CLI.
- Keep one task per session and start with recognizable wording so keyword searches work.
- See session management for
/resume,/fork, and/compact.
Related issues: #20340, index/database mismatch and blank history; #19822, stale local index preventing recovery; #19603, consistent sidebar and CLI list rules; #20624, silent failures opening old sessions; and #20165.
6. Sign-in fails
Symptom: browser authorization completes, but the terminal reports failure.
Try, in order:
- Check the network connection.
- Clear browser cache and retry.
- Run
codex logout, then sign in again. - Try API-key authentication.
For personal accounts, company SSO, and shared CLI/extension sign-in, see setup.
7. codex: command not found
Symptom: the terminal reports codex: command not found.
Reinstall:
npm install -g @openai/codex
Check npm’s global installation path:
npm config get prefix
Ensure the path is included in PATH. Run codex --version; seeing the version confirms the command is available.
On Windows, if PATH setup is difficult, start with the App rather than getting stuck on CLI setup. The VS Code extension also works independently of the CLI.
8. Missing environment variables or a third-party model that won’t run
- After changing variables on Windows, fully quit and reopen Codex. Restart the computer if needed.
- For Chinese third-party models: newer Codex uses the Responses API and does not support
wire_api = "chat". Chat Completions-only compatibility can connect without working. Many providers have not adapted, limiting model choices. If it works, use it; otherwise switch providers. See configuration.
9. MCP doesn’t work
- Check that configuration was saved. After
codex mcp add, openconfig.tomland find the server entry. - Start a new session. The old session may not have loaded new settings.
- Request the tool by name: “Use Context7 to find the latest documentation for this library first.” Put it in global
AGENTS.mdif it should be a recurring rule. - Separate noise from failures.
-32601: Method not foundoften means an optional resource-listing feature is missing, not that the server is broken. - Known Windows issue: localized
taskkilloutput can enter MCP JSON parsing and fail on non-English systems; see #22393. Report the tool issue instead of endlessly changing your setup. - Ask whether MCP is necessary. Plans and progress often need only a Markdown file in Git. See long-task planning.
For MCP setup and examples, see configuration.
10. Windows checklist
- The extension spent a long time marked experimental. Check GitHub before reinstalling your system environment for lag or MCP problems.
- Prefer
elevatedsandboxing; useunelevatedwhen admin rights are unavailable or setup fails. See setup. - Use the App or extension if CLI PATH setup is difficult.
- Fully restart Codex after environment-variable changes, then restart the computer if necessary.
- For a frozen panel, save logs from section four before Reload Window.
- A
wsl.exe --statuserror without WSL installed is a known probing issue, not a problem with your own environment. - Localized output on Chinese, Portuguese, or other non-English Windows installations can cause known parsing failures.
11. Write a useful bug report
Search openai/codex Issues first. Adding your environment to an existing matching issue is more useful than opening a duplicate.
Include:
- Versions: extension, such as
openai.chatgpt-26.930.31730-win32-x64, bundled codex-cli, and VS Code. - Platform: Windows, Intel or Apple-silicon macOS, or Linux; local, Remote-SSH, or WSL.
- Reproduction: actions, expected behavior, actual behavior, and whether it is consistent or intermittent.
- Logs: relevant lines only, with counts of key errors as in section four.
- Feedback ID: obtained while the failure was active.
Redact sensitive data. Don’t post tokens, API keys, or account details. Replace session IDs, request IDs, and local paths with <redacted> where possible, as GitHub reporters have done. State only what you verified and label guesses as guesses.
Official references
- Issue #49991: disappearing, spinning, or steer-pending messages in VS Code Codex 26.928.31416
- Issue #50118: follow-ups queued after completion with markedStreaming=true
- Issue #22393: unresponsive VS Code extension and Windows App
- Issue #21244: history intermittently hides existing local sessions
- Codex IDE guide
- Official Codex VS Code extension
- Codex configuration guide in Chinese