codex_app__create_thread is advertised but fails with “no longer available through dynamic tools”
What version of the Codex App are you using (From “About Codex” dialog)?
Version 26.820.60940
What subscription do you have?
Pro
What platform is your computer?
MacOS Tahoe 26.5.1 (25F80) - Darwin 25.5.0 arm64 arm
What issue are you seeing?
A Codex task running on a remote SSH host could discover Mac-local projects and existing local tasks, but could not create a new local task.
codex_app__create_thread was exposed as an available tool. Invoking it returned:
This app tool is no longer available through dynamic tools. Use the codex_app MCP server. If that server is unavailable on this host, task delegation is unavailable.
No separate MCP-backed version of codex_app__create_thread was exposed to the task.
Related task-management tools continued to work:
codex_app__list_projectscodex_app__list_threads
An existing Mac-local task could also be opened and continued manually through the UI.
What steps can reproduce the bug?
- Open a Codex task backed by a remote SSH project.
- Ask it to create/delegate a task to a saved Mac-local Git project.
- Call
codex_app__list_projects. - Confirm that the local project is returned with:
projectKind: localhostId: localisGitRepository: true
- Call
codex_app__create_threadwith the returned project ID and:
```json
{
"type": "project",
"target": {
"environment": {
"type": "local"
}
}
}
- Observe the dynamic-tool/MCP error.
What is the expected behavior?
The app should either:
- Execute codex_app__create_thread through the advertised tool transport; or
- Expose the replacement MCP-backed tool and route the request through it.
If cross-host local task creation is unsupported, the tool should not be advertised as callable and should return a clear capability error before invocation.
Actual behavior
The tool was advertised and accepted by the model-facing tool registry, but the invocation was rejected because it was supposedly no longer available through that transport.
The replacement transport named by the error was not available in the task.
Impact
This prevents a remote/container-backed Codex task from delegating bounded host-level work to a Mac-local project. The only available workaround was to manually open an existing local task and paste the handoff prompt.
This is particularly disruptive for workflows where:
- Repository analysis occurs inside a dev container.
- Docker Desktop or host runtime administration must occur on the Mac.
- The local executor is intentionally limited to specific delegated commands.
Additional information
Impact
This prevents a remote/container-backed Codex task from delegating bounded host-level work to a Mac-local project. The only available workaround was to manually open an existing local task and paste the handoff prompt.
This is particularly disruptive for workflows where:
- Repository analysis occurs inside a dev container.
- Docker Desktop or host runtime administration must occur on the Mac.
- The local executor is intentionally limited to specific delegated commands.
Evidence that the local host was available Immediately before the failure:
- codex_app__list_projects successfully returned the intended Mac-local project.
- codex_app__list_threads successfully returned an idle Mac-local task.
- unavailableHosts was empty.
- The existing local task accepted the prompt and began working when continued manually.
There was no Git, filesystem, Docker, authentication, approval, or project-resolution error.
The August 24, 2026 changelog states:
The codex mcp-server command is now deprecated. Use the Codex app server instead.
I understand that the error’s phrase “codex_app MCP server” may refer to an internal app-tool transport rather than the deprecated codex mcp-server CLI command. However, the remediation is not actionable from the affected task:
- No separate MCP-backed
codex_app__create_threadtool was exposed. - The advertised dynamic version rejected execution.
- The public documentation directs integrations to the Codex app server rather than explaining a user-configurable
codex_appMCP server.
Please clarify whether:
- The error message is stale or misleading;
- The replacement tool failed to register in this task; or
- Cross-host task creation is expected to use a different app-server operation.
At minimum, the app should avoid advertising a tool through a transport that will reject it, and the returned error should name an available, actionable recovery path.
2 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Closing as duplicate of https://github.com/openai/codex/issues/40865