Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.247 ·

Programmatic prompt submission gains origin and wait, which hooks cannot forge

Hooks can see where a prompt came from and whether it queues, and cannot fake either.

Nothing to try yet In Development
JSON All of v2.1.247
Nothing to try yetTier: how much it should matter to you
3Useful: my rating, 1 to 5
4Signal: worth watching, 1 to 5
HooksArea: what it touches
In DevelopmentKind: in v2.1.247,
What probably matters to youSection of the release

The origin and wait fields plus forgery rules exist only under the JavaScript plugin hooks rollout, whose in-build fallback is off.

What

Plugin hooks that see a prompt submission now receive two extra fields: origin, saying where the prompt came from, and wait, saying whether it queues behind the turn in progress. New rules reject any hook answer that invents an origin the engine did not set, changes the one it was given, or sets or changes wait. This whole surface exists only when the JavaScript plugin hooks rollout is enabled, and its in-build fallback is off.

Details
  • The existing rule against a hook rewriting the prompt text still applies alongside the two new ones.
  • Controlled by tengu_plugin_hooks_modules, which falls back to false in this build, so it is off unless server configuration turns it on.
Evidence

a wait the engine did not set (whether the prompt waits its turn is the user's; a hook carries it as received)

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Read from
Names in the bundleoriginwait
Since it was published

The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.

Added since A small documentation edit on Environment variables touched a line naming wait after this was published. | `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Upper bound in milliseconds on how long [WebFetch](/docs/en/tools-reference#webfetch-tool-behavior) waits for a page to download, including any redirects it follows. A download that hasn't completed b… env-vars see the edit
Added since A small documentation edit on multiagent-orchestration touched a line naming origin after this was published. If a subagent needs something from your client, such as [permission](https://platform.claude.com/docs/en/managed-agents/events-and-streaming#tool-confirmation) to run a tool call or the [result of a custom tool](https://platform.claude.com… managed-agents/multiagent-orchestration see the edit
Confirmed since Anthropic's documentation has since written up origin, on Batches. Thinking blocks must be passed back unmodified and in their original order; a modified block results in a 400 `invalid_request_error`. api/messages/batches see the edit
Confirmed since Anthropic's documentation has since written up wait, on Create Session. A custom tool that is executed by the API client rather than the agent. When the agent calls this tool, an `agent.custom_tool_use` event is emitted and the session goes idle, waiting for the client to provide the result via a `user.custom_… api/beta/sessions/create see the edit
What has happened since
Flag reading moved The flag server now returns on for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns off for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns on for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns off for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns on for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns off for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns on for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns off for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.

See this across every release →

How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agreesAnthropic's documentation has since written up wait, on Create Session.

See this entry in the whole of v2.1.247 →

Feedback