openai / openai/codex-plugin-cc

codex-rescue subagent cannot retrieve its own background task result, and status/result are user-invocation-only

Open
#601 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
33.3k
Forks
2.3k
PR merge metrics
No merged PRs in 30d

Description

What happens

Delegating a review to codex:codex-rescue from an orchestrating agent produces a task id and nothing else. The result is unreachable to that agent: the wrapper cannot fetch it, and /codex:status / /codex:result are marked disable-model-invocation, so only the human can retrieve the output.

Plugin codex@openai-codex 1.0.6 (db52e28f4d9ded852ab3942cea316258ae4ef346), Claude Code, macOS.

Sequence

  1. The main agent spawns the codex-rescue subagent with a review prompt (background).
  2. The subagent returns after ~34s with only: Codex Task started in the background as task-msgiet54-w97mof. Check /codex:status task-msgiet54-w97mof for progress. — no findings.
  3. The main agent messages the subagent to wait for that task and relay its output. It answers that it is "a thin forwarding wrapper restricted to a single task invocation per rescue request" and is "not permitted to call status, result, or poll for background task completion".
  4. The main agent tries the obvious fallback, invoking the codex:status skill/command itself, and is refused: Skill codex:status cannot be used with Skill tool due to disable-model-invocation. Ask the user to run /codex:status themselves.
  5. The review output only appears after the human runs /codex:result <id> and pastes it back.

commands/status.md, commands/result.md, commands/cancel.md, commands/review.md, commands/adversarial-review.md and commands/transfer.md all carry disable-model-invocation, so there is no model-reachable path to a finished task.

Why it matters

An agent that hands work to Codex cannot complete that work on its own — the loop always needs a human relay in the middle. In an unattended or scheduled run there is no relay, so the task completes and its result is simply never read. The delegation looks successful while producing nothing.

Suggestions

Either would close it:

  • let the rescue wrapper await or poll the task it started, so it returns findings rather than an id;
  • or expose a read-only, model-invocable way to fetch a finished task's result (a separate command without disable-model-invocation, or a tool), keeping the interactive commands as they are.

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

Start with the codex-rescue wrapper and the command definitions in commands/status.md, commands/result.md, commands/cancel.md, commands/review.md, commands/adversarial-review.md, and commands/transfer.md. Trace how a background task id is returned and whether the wrapper or another model-invocable path can retrieve its result. Done means an agent can complete a delegated review and receive its findings without a human running /codex:status or /codex:result.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
developer-experience, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.