What
An app using the SDK can start a query by giving Claude Code a plain piece of text as the prompt. Before this change, that message went straight onto the transport, which is the connection between the SDK and the Claude Code process. It is now sent with writeAfterInitialize(...), so it goes out only after the initialize step (the opening handshake between the two sides) has finished. If sending it fails, the query is aborted.
Why
The prompt is no longer sent before Claude Code has finished setting up to receive it. A failure to deliver it now ends the query outright.