{"version":"2.1.283","anchor":"sdk-output-schema-check-samples-frames-and-validates-them-la","canonical_anchor":"sdk-output-schema-check-samples-frames-and-validates-them-la","heading":"SDK output checks now run after each result, when the session is idle","tier":"internal","area":"Agents","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.283\/e\/sdk-output-schema-check-samples-frames-and-validates-them-la","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.283","markdown":"### SDK output checks now run after each result, when the session is idle\n\nClaude Code's sampled check of SDK output now keeps one example per message type and checks them later, when the session is idle\n\n**What**\n\nWhen a program drives Claude Code through the Agent SDK, Claude Code sometimes checks a sample of the messages it sends against their expected format, called the schema. It used to check each sampled message as it was written.\n\nIt now keeps one example of each message type from a sampled stretch. It checks those examples only after a result, once the session is idle. The schema is then released from memory instead of staying loaded. If the check cannot run, the samples are dropped.\n\n**Why**\n\nThis check only feeds internal reporting and does not change what the SDK receives. In practice it moves the checking work away from the moment messages are sent and stops the schema taking up memory for the whole session.\n\n- Area: Agents\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}