Codex App side conversation can misclassify an explicit new-task request as prohibited subagent delegation

Open
#36,254 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
50/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
rust
Domain
devtools

Research direction

Reproduce the side-conversation flow described in the issue and inspect the available codex_app.create_thread capability contract. Trace how an explicit separate-task request is classified versus collaboration-tree subagent delegation; done means the app creates the task when authorized or reports a concrete capability or authorization failure.

Written by the indexing model from the issue text.

Description

app bug model-behavior session
What version of the Codex App are you using (From “About Codex” dialog)?

26.721.81911

What subscription do you have?

ChatGPT Pro ($200/month)

What platform is your computer?

Darwin 24.6.0 arm64 arm

What issue are you seeing?

In a Codex App side conversation, an explicitly authorized request to create a separate Codex task was refused twice on the stated basis that side conversations could not spawn or interact with agents. After the request was re-examined, the thread-management tool surface exposed codex_app.create_thread, and creating the separate task succeeded immediately.

This is a user-visible false refusal: the request was for a separate app-level task, not for a collaboration-tree subagent. The observed behavior is consistent with an instruction/tool-contract ambiguity that lets those two primitives be conflated. This report does not establish an internal root cause.

What steps can reproduce the bug?
  1. Start a Codex App side conversation.
  2. Explicitly ask the assistant to create a separate Codex task (not to spawn a collaboration subagent).
  3. Observe a refusal that treats the request as unavailable because it is coming from a side conversation or because agent/subagent creation is prohibited.
  4. Ask the assistant to inspect the available tool contract for creating a new/background thread.
  5. When codex_app.create_thread is available, invoke it with the same explicit authorization.
  6. Observe that a separate task is created.

Observed twice in one side conversation; independently unconfirmed. The issue can be triaged without private thread IDs or raw traces.

What is the expected behavior?

When a user explicitly requests a separate Codex task and the app-level thread-creation capability is available, the assistant should distinguish that request from collaboration-tree subagent delegation and either create the task or explain a concrete capability/authorization failure.

Additional information

Related but not duplicate: #16996 concerns precedence between repository instructions and subagent-spawn policy. This report concerns a side conversation incorrectly treating an explicitly authorized, app-level new-task request as that different primitive.

Also related, but different: #25990 and #29223 report missing or legacy thread-management tool surfaces; #26227 discusses side-chat persistence. Here, the task-creation capability was discoverable and succeeded after the false refusal.

Suggested design direction: make app-level task creation and collaboration-tree subagent delegation distinct in both tool descriptions and refusal reasoning. If the assistant sees ambiguous “agent” language, it should resolve the target primitive against the available capability contract rather than infer a prohibition.

Dominant language
Rust
Stars
125k
Forks
19.5k
Avg merge
1m
Merged PRs (30d)
1k

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from openai/codex

All issues in openai/codex

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.