VS Code extension app-server crashes with SIGTRAP after creating a local conversation

Open 💬 2 comments Opened Jun 21, 2026 by kntiwary
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Summary

The Codex VS Code extension's local app-server exits with SIGTRAP shortly after a new local conversation is created. The extension then reports Codex process is not available and cannot submit turns.

Environment

  • macOS
  • VS Code
  • Codex VS Code extension 26.616.51431 (updated from 26.5616.51431; same behavior)
  • Local Codex runtime paired with the desktop app

Steps to reproduce

  1. Start VS Code with the Codex extension enabled.
  2. Open Codex and create a new local conversation.
  3. Wait a few seconds, or attempt to submit a prompt.

Expected behavior

The local conversation remains available and accepts turns.

Actual behavior

The extension log shows the conversation being created, followed by repeated rollout-list warnings and a fatal app-server exit:

Conversation created conversationId=...
codex_rollout::list: state db discrepancy during find_thread_path_by_id_str_in_subdir: falling_back
Codex app-server process exited unexpectedly (code=unknown, signal=SIGTRAP)

After the exit, subsequent requests fail with Codex process is not available.

Troubleshooting already performed

  • Restarted VS Code.
  • Updated the extension to 26.616.51431.
  • Rebuilt the local ~/.codex/state_5.sqlite index.
  • Removed all active rollout transcripts with unmatched custom-tool-call outputs from the session scan tree.
  • Confirmed the active session tree had zero incomplete transcripts before restarting.

The crash still happens on a freshly created conversation with clean local state, so it appears the app-server treats the fallback condition as fatal.

View original on GitHub ↗

2 Comments

github-actions[bot] contributor · 2 months ago

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

  • #29182
  • #29140

Powered by Codex Action

Necmttn · 2 months ago

The app-server crash path should leave a conversation startup receipt. Record conversation id, state DB lookup result, rollout path chosen, discrepancy reason, process pid, exit signal, and last app-server event before SIGTRAP. That would separate a bad local conversation record from a runtime crash and give the extension a recoverable error instead of "process not available."

---

_Generated with ax._