Claude Code 2.1.295
By Steven Van ·
Hooks can block actions on failure, supported terminals can report task status, and cloud gateway upstreams gain routing controls.
Command and HTTP hooks in Claude Code can now block an action when the hook fails, using the new onFailure: "block" option. Version 2.1.295 also adds terminal status reporting, copy improvements and cloud gateway controls.
Hook failures can block actions
With onFailure: "block" set, a hook that cannot start, times out or exits with an unexpected code stops the action instead of letting it proceed.
Terminal status and clearer feedback
Terminals that implement Program Status Protocol (OSC 7501) can now show whether Claude Code is working, waiting for input or done. When a claude -p run stays open after its last turn, it writes a line explaining what it is waiting for to stderr, provided stderr is a terminal.
- The /copy picker now includes quoted text, allowing drafted messages to be copied without their > markers.
- Plugin install, enable and disable commands, plus marketplace add, now warn when the settings file they write to does not load.
- Stopping a turn while the left-arrow backgrounding action waits for the current tool to finish now displays “Backgrounding cancelled”.
Cloud gateway routing and timeouts
The Claude apps gateway now supports timeouts.upstream_ttfb_ms on Bedrock, Vertex, Foundry and other cloud upstreams. The configured value limits how long a stream can take to start before the request fails over or receives a 502.
Each upstream also accepts an optional models list. Only listed models are sent to that upstream, including during failover, and an entry can contain one * wildcard. The update also adds support for forceLog.
The changes are listed in the 2.1.295 changelog.