{"version":"2.1.280","anchor":"sdk-client-composed-field-description-greatly-expanded-to-do","canonical_anchor":"sdk-gets-a-verbatimprompts-option-marking-client-composed-me","heading":"SDK gets a verbatimPrompts option to skip client_composed processing","tier":"use","area":"SDK","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280\/e\/sdk-client-composed-field-description-greatly-expanded-to-do","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280","markdown":"### SDK gets a verbatimPrompts option to skip client_composed processing\n\nThe SDK can now send messages marked as verbatim, skipping the extra processing normally applied to client-composed turns\n\n**What**\n\n- The SDK session class now accepts a `verbatimPrompts` constructor option. By default (`verbatimPrompts: false`), outgoing messages are tagged `client_composed: true`; when `verbatimPrompts` is set, that tag is no longer added.\n\n- The `client_composed` schema 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.\n\n**Why**\n\nThis 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.\n\n- Area: SDK\n- Names: `client_composed`\n- Tier: Use it now\n- Useful: 4\/5\n- Signal: 2\/5"}