What
--await-initialize is a startup option for programs that drive Claude Code through the SDK (the toolkit for building on Claude Code). With it, Claude Code expects an initialize control request as the first line of standard input, which is the text a program feeds into it. The errors for getting this wrong are now more specific:
initialize_not_first: a new startup refusal reason. It is used when the first line is not the initialize request. The schema text says to fix the host program or wrapper script rather than retry.cause: "first_line": the error for a wrong first line now includes this field. It is also added when the first line is not valid JSON, next to the existing message.cause: "plugins": the error for a malformedinitialize.pluginsvalue now includes this field.
Why
A program driving Claude Code can now tell these failures apart and show an error that points at the real problem. Retrying with the same broken setup will not help.