Group of 2 Under the hood
No documentation found
The SDK can now send messages marked as verbatim, skipping the extra processing normally applied to client-composed turns
What
- The SDK session class now accepts a
verbatimPromptsconstructor option. By default (verbatimPrompts: false), outgoing messages are taggedclient_composed: true; whenverbatimPromptsis set, that tag is no longer added. - The
client_composedschema field's documentation was expanded to explain exactly what that marker does: turns marked this way (composed by the client rather than typed by the user) skip @-path file-mention expansion, slash-command dispatch, @server:resource MCP mention expansion, and the whole turn-start attachment pass (nested CLAUDE.md/rules files, skill/tool listings, reminders). The separate between-tool-calls attachment pass is unaffected.
Why
This gives SDK integrators control over whether their outgoing messages get Claude Code's normal client-side preprocessing (mention/slash-command expansion, context attachment) or are sent through verbatim, which matters when a client wants precise control over exactly what content reaches the model.
Names in the bundleclient_composed