Skip to content

app-server: add non-destructive pause/resume for multi-agent thread trees #34809

Description

@octalbot

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIIssues related to the Codex CLIapp-serverIssues involving app server protocol or interfacesenhancementNew feature or requestsubagentIssues involving subagents or multi-agent features

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions