{"version":"2.1.318","anchor":"poll-event-messages-are-now-delivered-to-agents","canonical_anchor":"poll-event-messages-are-now-delivered-to-agents","heading":"Poll events can now be delivered to agents and carry new fields","tier":"internal","area":"REPL Mode","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.318\/e\/poll-event-messages-are-now-delivered-to-agents","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.318","markdown":"### Poll events can now be delivered to agents and carry new fields\n\nBehind a gate, poll-event messages now reach agents and can carry agent, display and REPL fields, with checks on settle-only fields\n\n**What**\n\nWhen an internal gate check (`ae()`) passes, Claude Code handles a kind of message called a poll event in new ways. An agent is a separate Claude worker that handles part of a task.\n\n- The filter that picks queued messages for an agent used to select only task-notification messages. It now selects `poll-event` messages too.\n\n- Poll events may now carry `agentId`, `passive`, `keepsRow`, `startsTurn`, `following`, `displayRows`, `media`, `replToolUseId` and `nonce`. Before this release these slots were compiled out and did nothing.\n\n- Some fields belong only to settle events. If one is set on a non-settle event, the event is now rejected with the message 'poll event rejected: a settle-only field set on a non-settle event'.\n\n- `toolsUsed` is now always attached to the poll event.\n\n**Why**\n\nThese changes let poll events reach the right agent and carry information about how they should appear and whether they start a new turn. The sweep agent read this as groundwork for results from a REPL (an interactive code-running session) coming back into the conversation. It only applies when the gate check passes.\n\n- Area: REPL Mode\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}