prompt.compose
A Claude Code settings key, read out of the shipped bundle. No mined inventory carries it: everything below comes from what this site has written about it.
Claude Code can now compare two versions of a changing schema and label the difference, such as text only or new live additions
Not Anthropic's. This is the line from the earliest changelog entry here that named it, v2.1.286.
In the changelogs
6Releases whose published page names prompt.compose.
-
v2.1.286
New comparison sorts how a tool description has changed
Claude Code can now compare two versions of a changing schema and label the difference, such as text only or new live additions
found in this entry's text
-
v2.1.286
Plugins can now take over how the system prompt is put together
A new
prompt.composehook point lets a plugin module build the system prompt from its sections, and Claude Code falls back to its own if that failsnamed in this entry, found in this entry's text
-
v2.1.286
Plugin hooks gain a prompt.compose method and an asUser option on submit
Plugin hooks can now call a new prompt.compose method, and prompt.submit now accepts an asUser option that must be true or false
named in this entry, found in this entry's text
-
v2.1.286
Early groundwork for prompt composition and cache keep-alive
Claude Code now contains a new prompt composition hook point and a cache keep-alive beta setting, with no sign they are in use
found in this entry's text
-
v2.1.286
Several new internal log and event names
Claude Code gained a few new internal names for logging and events, tied to model lists, prompts, MCP images and Chrome tab groups
found in this entry's text
-
v2.1.286
A new prompt.compose event joins the other prompt events
Claude Code now registers a
prompt.composeevent alongsideprompt.submit,prompt.fillandprompt.suggestnamed in this entry, found in this entry's text
First cited
3The earliest release whose published evidence quoted prompt.compose was v2.1.286, 30 Sep 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
Presence across releases
0The miner has never read a build containing this name. It is here because a changelog entry of ours names it, which is evidence that it existed and not evidence of which releases carried it. The inventory starts at v2.1.138 and everything older than that was never mined.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the settings key does. All settings keys.