Claude Code hooks are deterministic; the agent can’t bypass them [1].
For example you force a linter to run or for tests to run.
Claude Code defaults to running in a sandbox on macOS and Linux. Claude Cowork runs in a Linux VM.
[1]: https://code.claude.com/docs/en/hooks-guide