A full message format for leasing local hooks to a cloud worker, including digest-pinned in-container templates, exists with no sender.
Message shapes are defined for a claude --cloud client to register its local hooks with the cloud worker: an inventory of hooks by opaque id (command or HTTP, matcher, timeout, which settings file it came from), a list of vetted in-container templates pinned by sha256 digest, and a lease in seconds, answered with the project directory, working directory, lease expiry, accepted and ignored counts, and whether it replaced a previous owner.
- Hooks deliberately not forwarded are counted by reason: after-edit hooks, unsupported kinds, plugin-supplied, managed, and other.
- The hook callback request gained optional issue and deadline timestamps so a device can drop a stale or replayed delivery.
- Nothing in the build constructs the registration message or reads the new timestamps; the only references are the definitions themselves and the list of commands a client may send. This is a protocol landed ahead of its implementation, so there is no flag to turn on.
register_device_hooks
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
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.
| `CCR_FORCE_BUNDLE` | Set to `1` to force [`claude --cloud`](/docs/en/claude-code-on-the-web#send-local-repositories-without-github) to bundle and upload your local repository instead of cloning from its remote |env-vars see the edit
`--cloud` works with a single repository at a time. The task runs in the cloud while you continue working locally. The older `--remote` spelling still works as a deprecated alias for `--cloud`.claude-code-on-the-web see the edit
Anthropic's documentation has since written up --cloud, on Use Claude Code on the web.