A hook is a command you set up to run automatically at certain points, for example to check a command before it runs. A cloud session is a Claude Code session that runs on a remote machine and syncs your project. When a cloud session wants to run a command and Claude Code on a Windows computer cannot confirm that one of your local hooks lies outside the synced project, it now asks for your approval. There are two new explanations for why:
- On Windows, Claude cannot yet confirm that the program behind the hook lies outside the synced project.
- Claude cannot confirm that the folder the hook would start in lies outside the synced project.
Before this, the only explanations were that the hook's script was inside the project, that it could not be read, or that it was a model hook.
The cloud session can rewrite files in the synced project, so a hook stored there cannot be trusted to check its own commands. On Windows, commands that a local hook would normally have vetted now stop and ask you instead of running unchecked.
It is not clear whether these new approval prompts are behind a flag.