{"version":"2.1.323","anchor":"agent-observers-an-agent-can-declare-multiple-observers","canonical_anchor":"agent-observers-an-agent-can-declare-multiple-observers","heading":"Agents can now declare up to four background observers","tier":"use","area":"Subagents","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323\/e\/agent-observers-an-agent-can-declare-multiple-observers","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323","markdown":"### Agents can now declare up to four background observers\n\nThe agent `observer` field accepts a comma-separated list of up to four observer types, each tracked, stopped and resumed separately\n\n**Unclear.** It is not clear whether the observer feature is switched on for everyone or held behind a separate check.\n\n**What**\n\nAn 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.\n\n- Extra observers: any beyond the limit are ignored with a warning (\"declares more than\" the allowed number).\n\n- 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.\n\n- 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.\n\n- 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.\n\n- `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.\n\n**Why**\n\nYou 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.\n\n- Area: Subagents\n- Tier: Use it now\n- Useful: 4\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}