[Windows Desktop] fresh and resumed Tasks omit codex_app capability root #46653
Description
Codex version
OpenAI.Codex Desktop package 26.915.4065.0; embedded/running runtime 0.155.0-alpha.9.2; ChatGPT.exe ProductVersion 153.0.8010.48.
Subscription
ChatGPT account using Codex Desktop (account identifiers intentionally omitted).
Platform
Windows 11 Home 10.0.26200 build 26200.
What happened?
Native Codex Desktop Task-management tools are absent from the model-visible tool catalog in both a newly started project Task and a resumed Task. Missing operations include create_thread, list_threads, read_thread, wait_threads, handoff_thread, send_message_to_thread, set_thread_title, set_thread_archived, and sidebar/pinning operations.
This appears to be a Desktop capability-root/executor-metadata provisioning regression, not a missing provider or broken backend API.
Steps to reproduce
- Open Codex Desktop on Windows.
- Start a new Task over a saved project, or resume an existing Task.
- Inspect the actual tool catalog available to the Task.
- Observe that no native Task-management tools are present.
- Inspect app-server telemetry for the corresponding
thread/startand world-state spans.
Current fresh Task/session ID: 01a0ba0c-32cc-73a2-be4e-ceb932576681
Affected resumed Task/session ID: 01a0b669-8fdf-7011-b764-63299079ee22
Expected behavior
Desktop should inject the native codex_app capability root plus executor thread metadata into both fresh and resumed Tasks. The Task should receive the native thread-management catalog and be able to call list/read/wait/create/handoff operations subject to their normal guards.
Actual behavior
Sanitized evidence:
current fresh Task thread/start: thread_start.dynamic_tool_count=0
current fresh Task world state: selected_capability_root_count=0
affected resumed Task world state: selected_capability_root_count=0
other newly started Tasks: thread_start.dynamic_tool_count=0
The current runtime's generated protocol schema includes thread/start.dynamicTools and thread/start.selectedCapabilityRoots, with capability roots described as selected by the hosting platform.
The packaged and running codex.exe are identical:
SHA-256 BC45017E8239DC150258F69309CED9DF6BBCDF5B8E4F346DECF780AC0999E226
A read-only diagnostic launch of the bundled codex-app-tools provider returned 44 tools, including every missing Task-management operation. Calling list_threads without executor metadata produced:
Codex app tools require thread metadata from the executor.
Adding MCP _meta.threadId for the current Task made list_threads succeed. read_thread and wait_threads(timeoutMs=0) also succeeded for the affected Task. No mutating provider operation was invoked. This confirms that the Desktop pipe/provider and backend Task APIs are healthy; the failure occurs in host-to-app-server capability injection.
The current Desktop instance's text log files are zero bytes, but the read-only app-server telemetry database contains the spans above. No raw database/session file is attached to avoid account and path disclosure.
Scope and safety
- Reproduces in both a fresh project Task and a resumed Task, so it is not resume-only persisted state.
- Repeated Desktop restarts and updates did not repair it.
- SQLite databases and session JSONL were read only.
- No cache/history/Tasks/worktrees/login state were deleted or reset.
- No config, feature flag, repository, plugin state, or application data was modified.
Related issues / release note
The official changelog lists Refresh resumed thread capability roots from executors (#39746). The current behavior may be a regression or a broader Windows provisioning failure.
Closest open reports found were #43350 (macOS delegated follow-up loses selected capability roots) and #32436 (new Desktop tasks missing generic workspace tools). This reproduction is different: it affects the native codex_app Task-management capability in ordinary fresh and resumed Windows Tasks, while the provider/backend remains callable.
Activity
github-actions commentedon Sep 19, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Ayyiyo commentedon Oct 2, 2026
I had the same user-visible symptom on Windows — fresh Tasks had zero
mcp__codex_app__*thread-management tools — but my failure mode appears to have been different.In my case, the bundled
codex-app-tools 0.1.5files were present and Desktop was already passing thecodex_app.enabled=trueoverride, but nocodex_appMCP child process was running. Restarting the app-server alone did not help.I restored the tools by adding an explicit user-level
[mcp_servers.codex_app]definition in~/.codex/config.tomlpointing to the installed official bundledcodex-app-tools 0.1.5, then restarting the Desktop app-server.After that, the native cross-thread tools returned and cross-thread messaging worked again.
So this may be a separate Windows failure mode rather than the same capability-root injection failure described here. I posted the fuller reproduction and workaround in #49862.
lbai-113 commentedon Oct 8, 2026
I can reproduce the same user-visible failure on Windows.
Environment:
Missing from fresh and existing chats:
Diagnostics:
The symptom appeared after moving Codex working/state data from C: to D:.
Rollout/session files remain on disk, but many are not represented in the
current state index. I cannot confirm that the relocation caused the missing
capability injection, but it may be relevant.
Feedback session ID:
01a11b6f-8698-74e3-95db-da4072282c1f
lbai-113 commentedon Oct 8, 2026
Additional evidence from an older resumed Desktop chat:
The chat initially reported these tools as available in its tool metadata:
However, the first real invocation failed:
codex_app__list_threads({limit: 200})
Error:
“This app tool is no longer available through dynamic tools.
Use the codex_app MCP server.”
Retrying through mcp__codex_app__list_threads was impossible because that tool
was not exposed on the host.
After the failed invocation and capability refresh, the same chat reported that
all five tools were unavailable.
This suggests resumed chats may retain stale dynamic-tool metadata even though
the underlying codex_app MCP capability is not callable.
Desktop: 26.1002.7124.0
Bundled runtime: 0.162.0-alpha.2
Feedback session ID: 01a11b6f-8698-74e3-95db-da4072282c1f
Evren7777 commentedon Oct 13, 2026
补充一例 Windows 本地桌面环境的复现。以下环境信息于 2026-10-12 核验,历史调用记录于 2026-10-13 只读复核。
环境与实际运行组件
OpenAI.Codex 26.1007.2314.0。0.162.0-alpha.17.2。source=copied,使用当前安装包对应的自动复制 CLI。client_version=0.162.0。这是缓存字段,与上述完整运行版本分别记录。工具枚举结果
原有聊天和由用户手动新建的空白聊天均报告:
create_thread:不可见send_message_to_thread:不可见read_thread:不可见wait_threads:不可见handoff_thread:不可见mcp__codex_app__前缀:0 个mcp__codex_apps__前缀:141 个结果来自实际
ALL_TOOLS元数据枚举,不是因提示词出现了工具名称而推定可用。新空白聊天的结果由用户复制回原聊天;没有使用这些缺失工具创建对照聊天。2026-10-13 原聊天再次枚举,原生命名空间仍为 0。已执行的本地排查
CODEX_CLI_PATH固定覆盖。codex_apps达到 ready;这仅证明复数连接器服务就绪,不等于单数codex_app原生工具存在。可追溯的历史行为
同一台电脑的本地会话记录证明:
codex_delegation消息。mcp__codex_app__read_thread并获得另一线程的实际内容。这些证据证明接口曾实际可用,但没有将某一轮完整自动派发/回传闭环或根因作超出证据的确认。
请求确认
此前也已通过应用内反馈提交。此公开评论不附完整日志、会话文件、业务资料、账号凭证或本机私有路径。