{"version":"2.1.271","anchor":"new-turnmessage-queue-draining-classes-da-el-for-the-ses","canonical_anchor":"new-turnmessage-queue-draining-classes-da-el-for-the-ses","heading":"New turn\/message-queue draining classes (Da, el) for the session loop","tier":"internal","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.271\/e\/new-turnmessage-queue-draining-classes-da-el-for-the-ses","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.271","markdown":"### New turn\/message-queue draining classes (Da, el) for the session loop\n\nTwo new internal classes manage draining the turn\/message queue in the session loop\n\n**What**\n\nClaude Code's session loop gained two new internal classes: one that gates the message queue by tracking whether its \"head\" is ahead of a wait point, and another that runs a full turn drain, handling teardown, abort signals, and the per-command turn loop by coordinating the message queue, delivery ledger, turn runner, and turn gate together.\n\n**Why**\n\nThis is internal restructuring of how Claude Code manages finishing out turns and draining queued messages, not a change you'd directly notice.\n\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}