VS Code extension: thread list cannot show mcp/exec sessions — no equivalent of `codex resume --include-non-interactive`
What version of the IDE extension are you using?
26.721.41059 (bundled app-server 0.146.0-alpha.3.1)
What subscription do you have?
Plus
Which IDE are you using?
VS Code 1.122.1
What platform is your computer?
Linux 7.0.0-27-generic x86_64 unknown
What issue are you seeing?
Threads created by codex mcp-server (recorded as source=mcp, surfaced by app-server as appServer) and by codex exec never appear in the extension's thread list, and the extension exposes no setting to include them.
Both of the extension's app-server clients send thread/list with sourceKinds: []:
app-server request: thread/list request_id="codex.chatSessionProvider:0"
app-server request: thread/list request_id="CodexWebviewProvider.webview:<uuid>"
ThreadListParams.sourceKinds documents omitted/empty as "defaults to interactive sources", i.e. cli + vscode, so those threads are filtered out server-side.
The CLI already solved this: #24503 gave codex resume --include-non-interactive explicit sourceKinds covering exec and appServer. The IDE extension has no counterpart.
What steps can reproduce the bug?
- Create a thread through the MCP server — from another agent via the
codexMCP tool, or directly withcodex mcp-serverand a call to thecodextool. The rollout lands in~/.codex/sessions/...with"source": "mcp", and the row in~/.codex/state_5.sqlitehassource='mcp'. - Open the Codex sidebar in VS Code. The thread is absent from the list.
- Confirm it is a filter rather than missing data, by driving app-server directly:
thread/list {"sourceKinds": [], ...} -> only cli and vscode threads
thread/list {"sourceKinds": ["appServer"], ...} -> the mcp threads, including the one from step 1
thread/read {"threadId": "<id>", "includeTurns": true} -> full transcript
- On the CLI,
codex resume --include-non-interactivelists the same threads.
What is the expected behavior?
The extension should be able to show non-interactive threads, matching the CLI:
- a setting such as
chatgpt.threadList.sourceKinds, or a simplerchatgpt.threadList.includeNonInteractiveboolean, and/or - a filter control in the sidebar's thread list.
Sessions created by MCP clients are real local work on the same machine and the same CODEX_HOME; today they are only reachable from the CLI.
Additional information
Related: #24503 (closed, CLI side), #24197 (Desktop showing local CLI sessions), #16614 (clarifying app-server thread visibility), #23442 (app-server hardcodes SessionSource::VSCode), #35694 (opening a session by ID from the extension). None of them asks for this on the extension side, as far as I could tell.
Local workaround: point chatgpt.cliExecutable at a stdio shim that rewrites sourceKinds on thread/list before forwarding to the real binary. The mcp/exec threads then show up in the sidebar with no other change, which suggests the only gap is the missing client-side option.
---
Investigation and draft by Claude Code (Claude Opus 5), reviewed and filed by @liuclare.