What
Hooks are your own scripts or commands that Claude Code runs at set points, such as before a tool runs. Several things changed in how they are started:
- A hook that can't run in a cloud session, or in a session without a local disk, now returns the reason
unsupported_in_cloud_sessioninstead of a plain failure. - A hook that fails while running on another machine returns
remote_run_failed. - For hooks from plugins and skills,
CLAUDE_CODE_SHELL_PREFIXis now worked out only when it is needed. This does not apply to the status line or file suggestion hooks. - A PowerShell hook that does not set a
shellnow shows a notice, once.
Why
When a hook fails in a cloud session, the reason now tells you whether it can't run there at all or failed on the other machine, which makes the problem easier to track down.