Skip to content

refactor(core): remove the subagent notify option - #63413

Merged
jlongster merged 1 commit into
devfrom
remove-subagent-notify
Nov 11, 2026
Merged

jlongster merged 1 commit into
devfrom
remove-subagent-notify

Conversation

@jlongster

@jlongster jlongster commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Removes the subagent notify option. Every child session with a parent now reports to it when it goes idle. We decided not to support silencing subagents.

  • Subagent tool: the notify input, its description line and the silent-launch text are gone. Every launch returns the normal background text.
  • SubagentMetadata (the subagent.notify session metadata key, plus stripping it on create and fork) is deleted. Children and forks inherit the parent's metadata as-is.
  • Reports and restart: the silent branches in subagent-report.ts and restart.ts are removed, so a child always reports, including after a follow-up or restart recovery.
  • Old data: sessions saved with metadata["subagent.notify"] = false are simply ignored and report again. No migration.
  • Docs: tools.mdx drops the notify: false sentence.

The subagent tool input has no generated client, SDK or plugin type, so no regeneration was needed.

🚩 Flag: none (refactor).

📊 Proof

  • typecheck:tsc passes in core, server and cli; bun run check passes; the site build passes.
  • Subagent, report, e2e, execution, session-create, job and completion suites: 161 pass. Report and recovery fixtures seeded with subagent.notify: false still report (58 pass).
  • Full packages/core suite: 7092 pass; the only 3 failures are environmental (ShellParse under root, util.flock ×2).
  • rg 'SubagentMetadata|subagent\.notify|withNotify' packages services returns no matches.

Added by the opencode bot (AI-generated).

Public API: removes the subagent tool's notify input and stops honouring subagent.notify session metadata (stale values are ignored, nothing errors)

User decisions:
- Remove the subagent notify option; every subagent reports to its parent when it goes idle

@opencodejr opencodejr Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The removal looks sound and complete. Searching packages and services for subagent.notify, SubagentMetadata and notify=false finds no subagent-related matches. The report and restart paths now always deliver. The 5 changed core test files pass (129 tests), and typecheck:tsc passes in core and server.

Public API: the built-in subagent tool's input loses the optional notify field, and the subagent.notify session metadata key is no longer honoured. Both are backwards compatible in practice. Tool input decoding drops unknown keys, so a model or plugin wrapper that still sends notify has it ignored without an error. Sessions saved with subagent.notify: false report to their parent again. Nothing changes in the SDK, the HTTP/OpenAPI spec, config, the CLI or events.

No concerns.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant