Codex version
codex-cli 0.144.6
Surface
codex app-server over stdio with multi_agent enabled
Problem
An app-server host can need to pause a task while a human resolves blocking feedback (for example, approving or rejecting a plan). The root turn is blocked in the host's MCP tool call, but already-running collaborator turns continue consuming tokens, invoking tools, and mutating the shared workspace.
The app-server protocol exposes turn/interrupt, but interruption aborts progress. It is not equivalent to pausing collaborators and continuing them after the human responds. Hiding activity notifications also does not stop the underlying work.
Requested API
Please provide a host-controlled, non-destructive pause/resume operation for a thread and its descendant collaborator turns, or an equivalent way for an MCP tool/host to declare that its pending call blocks the whole thread tree.
Useful semantics would include:
- Pause the root and all active descendants as one operation.
- Prevent newly spawned descendant work while paused.
- Reference-count or tokenize overlapping pauses so work resumes only after every blocker resolves.
- Resume the same in-flight turns without discarding their progress.
- Define behavior for descendants created or restarted during a pause.
Current downstream workaround
The only available non-destructive workaround is suspending the entire app-server process group at the OS level. That stops shared-workspace mutations, but it also freezes unrelated runtime work and leaves wall-clock deadlines advancing, so it is much broader and less portable than a protocol-level operation.
Codex version
codex-cli 0.144.6Surface
codex app-serverover stdio withmulti_agentenabledProblem
An app-server host can need to pause a task while a human resolves blocking feedback (for example, approving or rejecting a plan). The root turn is blocked in the host's MCP tool call, but already-running collaborator turns continue consuming tokens, invoking tools, and mutating the shared workspace.
The app-server protocol exposes
turn/interrupt, but interruption aborts progress. It is not equivalent to pausing collaborators and continuing them after the human responds. Hiding activity notifications also does not stop the underlying work.Requested API
Please provide a host-controlled, non-destructive pause/resume operation for a thread and its descendant collaborator turns, or an equivalent way for an MCP tool/host to declare that its pending call blocks the whole thread tree.
Useful semantics would include:
Current downstream workaround
The only available non-destructive workaround is suspending the entire app-server process group at the OS level. That stops shared-workspace mutations, but it also freezes unrelated runtime work and leaves wall-clock deadlines advancing, so it is much broader and less portable than a protocol-level operation.