{"version":"2.1.239","anchor":"sdk-protocol-accepts-relayed-claude-code-projects-notificati","canonical_anchor":"sdk-protocol-accepts-relayed-claude-code-projects-notificati","heading":"SDK protocol accepts relayed Claude Code Projects notifications","tier":"internal","area":"SDK","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.239\/e\/sdk-protocol-accepts-relayed-claude-code-projects-notificati","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.239","markdown":"### SDK protocol accepts relayed Claude Code Projects notifications\n\nThe SDK now accepts a relayed notification kind for Claude Code Projects coordinator sessions.\n\n**What**\n\nTask notifications delivered over the SDK protocol accept a third kind, `projects-relay`, for deliveries composed by Anthropic servers for a Claude Code Projects coordinator session and addressed to a thread session. A delivery carrying the relay stamps is framed as a message from the coordinator session; one without them keeps the generic background-notification framing.\n\n**Details**\n\n- Relay message ids must match the `cmsg_` id format, and relay rows are validated against those ids.\n- No gate is visible in the schema.\n\n**Evidence**\n\n`projects-relay`\n\n- Area: SDK\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 5\/5"}