{"version":"2.1.309","anchor":"new-dispatching-for-model-state-on-the-turn-guard-used-by","canonical_anchor":"new-dispatching-for-model-state-on-the-turn-guard-used-by","heading":"Send-now waits while a message is being handed to the model","tier":"notice","area":"Prompt Input","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309\/e\/new-dispatching-for-model-state-on-the-turn-guard-used-by","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309","markdown":"### Send-now waits while a message is being handed to the model\n\nA new isDispatchingForModel state lets send-now tell a message about to reach the model from an idle session, and queue instead\n\n**What**\n\nWhen you submit a message, Claude Code first reserves a turn (one round of Claude working on your message) and then sends it on. It now tracks whether a reserved turn is heading for a call to the model:\n\n- `reserve()` resets the flag at the start of each turn.\n\n- `markDispatchForModel` sets it, but only while the turn is still being dispatched and belongs to the current turn.\n\n- A new `isDispatchingForModel` getter reports it, defaulting to false where it is not tracked.\n\n- `sendQueuedNow`, used by the send-now key for queued messages, used to look only at `isRunning`. It now takes its immediate path only when the session is neither running nor dispatching for the model. Otherwise it goes on to its queue-handling path.\n\n**Why**\n\nA message sent with send-now just after another message was submitted, but before the model call started, is no longer handled as if the session were idle. It goes through the queue instead.\n\n- Area: Prompt Input\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}