Skip to content

docs(rfd): describe read-only subagent configuration - #2468

Merged
benbrandt merged 1 commit into
mainfrom
docs/subagent-config-options
Oct 23, 2026
Merged

benbrandt merged 1 commit into
mainfrom
docs/subagent-config-options

Conversation

@benbrandt

@benbrandt benbrandt commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Summary

Clarify how exposed subagent sessions report their current configuration without granting clients permission to change it.

  • Reuse config_option_update on the child's session ID for initial and subsequent complete snapshots.
  • Recommend singleton select values and read-only boolean displays for restricted children; do not infer configuration from the parent.
  • Keep configuration changes behind a future explicit per-child capability, including requests to set the current value.
  • Define reconnect freshness expectations and add a validation scenario.

No protocol fields, methods, or capabilities are added.

Validation

  • npm run check passed after rebasing onto current main.

Companion implementations

@benbrandt
benbrandt requested a review from a team as a code owner October 23, 2026 19:45
@benbrandt
benbrandt merged commit 097a8a8 into main Oct 23, 2026
11 checks passed
@benbrandt
benbrandt deleted the docs/subagent-config-options branch October 23, 2026 19:51
benbrandt added a commit to agentclientprotocol/claude-agent-acp that referenced this pull request Oct 23, 2026
## Summary

Expose the observed configuration of RFD subagent sessions using the
same config-option IDs as ordinary sessions, without granting
client-initiated configuration changes.

- Report model from child responses and model-switch hooks, and mode,
applied reasoning effort, and agent type from child-attributed SDK
hooks.
- Merge partial observations into complete, ordered config snapshots;
buffer early observations until truthful child announcement and
serialize concurrent publications.
- Advertise only each observed current value. Do not inherit parent
settings or invent child Fast-mode state.
- Keep child plan-mode and model-switch hooks from changing the parent's
configuration.
- Cover initial/changed settings, announcement ordering, publication
failures, root isolation, and hook registration in both protocol
versions; update v2 scenario snapshots.

## Related

Protocol clarification:
agentclientprotocol/agent-client-protocol#2468

Zed client implementation:
zed-industries/zed#66058

## Validation

Passed after rebasing onto current `main`:

- `npm run build`
- `npm run check`
- `npm run test:run -- --silent`: 3,294 passed, 30 skipped.

No live Claude-to-Zed smoke test was run. Settings are reported only
when observed from the SDK; availability depends on runtime support and
events received.
buvidk1234 pushed a commit to buvidk1234/zed that referenced this pull request Oct 24, 2026
…6058)

Show the actual configuration reported by exposed ACP subagents without
offering controls their sessions do not support.

- Register an empty config provider when a child is announced, so the
first asynchronous snapshot reaches the UI in both ACP versions.
- Expose a read-only provider that rejects configuration mutations
before sending a wire request.
- Render child settings as labels below the transcript, including
boolean values, while leaving the message composer unavailable.
- Block picker/cycling actions and stale controls from changing child
settings or saving defaults.
- Test snapshot replacement, watcher updates, parent isolation, and
read-only behavior.

Protocol clarification:
agentclientprotocol/agent-client-protocol#2468

Claude adapter implementation:
agentclientprotocol/claude-agent-acp#1417

Release Notes:

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant