VS Code extension: thread list cannot show mcp/exec sessions — no equivalent of `codex resume --include-non-interactive`

Open 💬 0 comments Opened Jul 30, 2026 by liuclare

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?

  1. Create a thread through the MCP server — from another agent via the codex MCP tool, or directly with codex mcp-server and a call to the codex tool. The rollout lands in ~/.codex/sessions/... with "source": "mcp", and the row in ~/.codex/state_5.sqlite has source='mcp'.
  2. Open the Codex sidebar in VS Code. The thread is absent from the list.
  3. 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
  1. On the CLI, codex resume --include-non-interactive lists 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 simpler chatgpt.threadList.includeNonInteractive boolean, 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.

View original on GitHub ↗