Unclear It is not confirmed whether the observer feature is available to everyone, or whether more than four types are rejected.
What
An agent definition can name an observer: another agent that is started automatically in the background whenever this agent runs and receives read-only summaries of its activity. The observer field in an agent's frontmatter (the settings block at the top of its definition file) used to take a single agent type. It now accepts one type or a comma-separated list of up to four, none of whose names contains a comma.
- Extra observers: any beyond the limit are ignored with a warning ("declares more than" the allowed number).
- Bad entries: an observer that matches no agent, or one that fetches from the web, is skipped on its own instead of cancelling the whole declaration.
- Main session and resume: Claude Code now starts and re-arms every declared observer type, tracked together, and stopping the session stops all of them.
- Tracking: pairings are kept per observer type. An observer you stopped is marked
stoppedByUser, and a typed observer can reattach in some cases where it was previously blocked. observeSubagents: its description now says that setting it to false on an observer's own definition keeps that observer on the agents that declare it. In that case observers are not passed on to the subagents (helper agents) that agent spawns. Otherwise false still means spawned subagents do not inherit the observer, and the default is true.
Why
You can attach several watchers to one agent instead of choosing one. A single bad entry no longer disables the others, and observers you stopped behave predictably when a session resumes.
It is not confirmed whether the observer feature is available to everyone, or whether more than four types are rejected.