Repository navigation
refactor(core): remove the subagent notify option - #63413
Conversation
User decisions: - Remove the subagent notify option; every subagent reports to its parent when it goes idle
There was a problem hiding this comment.
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.
Removes the subagent
notifyoption. Every child session with a parent now reports to it when it goes idle. We decided not to support silencing subagents.notifyinput, its description line and the silent-launch text are gone. Every launch returns the normal background text.SubagentMetadata(thesubagent.notifysession metadata key, plus stripping it on create and fork) is deleted. Children and forks inherit the parent's metadata as-is.subagent-report.tsandrestart.tsare removed, so a child always reports, including after a follow-up or restart recovery.metadata["subagent.notify"] = falseare simply ignored and report again. No migration.tools.mdxdrops thenotify: falsesentence.The subagent tool input has no generated client, SDK or plugin type, so no regeneration was needed.
🚩 Flag: none (refactor).
📊 Proof
typecheck:tscpasses in core, server and cli;bun run checkpasses; the site build passes.subagent.notify: falsestill report (58 pass).packages/coresuite: 7092 pass; the only 3 failures are environmental (ShellParseunder root,util.flock×2).rg 'SubagentMetadata|subagent\.notify|withNotify' packages servicesreturns no matches.Added by the opencode bot (AI-generated).
Public API: removes the subagent tool's
notifyinput and stops honouringsubagent.notifysession metadata (stale values are ignored, nothing errors)