Limitations
Async hooks have additional constraints compared to synchronous hooks:
- Hook output is delivered on the next conversation turn. If the session is idle, the response waits until the next user interaction. Exception: an
asyncRewakehook that exits with code 2 wakes Claude immediately even when the session is idle. - Each execution creates a separate background process. There is no deduplication across multiple firings of the same async hook.