Skip to content

Make parent-owned sub-agent threads read-only in the TUI#33841

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/495ad051249e5577fb0b0c1cc8c40a0998d04918
Jul 17, 2026
Merged

Make parent-owned sub-agent threads read-only in the TUI#33841
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/495ad051249e5577fb0b0c1cc8c40a0998d04918

Conversation

@copyberry

@copyberry copyberry Bot commented Jul 17, 2026

Copy link
Copy Markdown

Make parent-owned sub-agent threads read-only in the TUI

Why

Multi-agent V2 spawned threads are controlled by their parent and reject direct
app-server input. The TUI should expose that ownership instead of presenting an
input flow that the server will reject.

What changed

  • Add the experimental Thread.canAcceptDirectInput capability for loaded
    threads and populate it from the same policy used to validate turn/start
    and turn/steer. Stored, unloaded threads report null.
  • Carry the capability through TUI thread discovery, selection, startup, and
    resume flows, with a compatibility fallback for older app servers.
  • Present parent-owned threads as view-only, preserve drafts and queued input,
    block agent-directed commands and settings shortcuts, and keep local
    navigation and inspection commands available.

Testing

  • Cover V1 writable and V2 view-only spawned threads through selection and
    resume.
  • Cover composer submission paths, queued and initial input preservation,
    allowed navigation commands, settings shortcuts, and the view-only UI.

## Why

Multi-agent V2 spawned threads are controlled by their parent and reject direct
app-server input. The TUI should expose that ownership instead of presenting an
input flow that the server will reject.

## What changed

- Add the experimental `Thread.canAcceptDirectInput` capability for loaded
  threads and populate it from the same policy used to validate `turn/start`
  and `turn/steer`. Stored, unloaded threads report `null`.
- Carry the capability through TUI thread discovery, selection, startup, and
  resume flows, with a compatibility fallback for older app servers.
- Present parent-owned threads as view-only, preserve drafts and queued input,
  block agent-directed commands and settings shortcuts, and keep local
  navigation and inspection commands available.

## Testing

- Cover V1 writable and V2 view-only spawned threads through selection and
  resume.
- Cover composer submission paths, queued and initial input preservation,
  allowed navigation commands, settings shortcuts, and the view-only UI.

GitOrigin-RevId: 495ad051249e5577fb0b0c1cc8c40a0998d04918
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/495ad051249e5577fb0b0c1cc8c40a0998d04918 branch from e489c80 to 3f0669d Compare July 17, 2026 15:16
@copyberry
copyberry Bot merged commit 3f0669d into main Jul 17, 2026
14 of 32 checks passed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/495ad051249e5577fb0b0c1cc8c40a0998d04918 branch July 17, 2026 15:17
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 17, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant