async_execution
Whether hooks can run asynchronously without blocking the agent’s execution loop. Fire-and-forget semantics.
Type: bool Content type: hooks
Provider Support
Section titled “Provider Support”| Provider | Supported | Mechanism |
|---|---|---|
| claude-code | ✓ | hook_async_execution: async: true on command handlers runs hook in background without blocking; decisions ignored; systemMessage delivered on next turn; asyncRewake: true also wakes Claude on exit code 2 |
| codex | ✓ | hook_execution_mode: Codex supports async hook execution mode for fire-and-forget background hook runs |
| factory-droid | ✓ | Matching hooks for the same event execute concurrently (in parallel); deduplication consolidates identical commands automatically |
| amp | ✗ | Amp hooks run synchronously; no async execution documented |
| cline | ✗ | Cline hooks run synchronously before/after tool events; no async execution documented |
| copilot-cli | ✗ | Copilot CLI hooks run synchronously; no async execution documented |
| crush | ✗ | Hooks are synchronous; each fires before the tool executes and must complete within the configured timeout. |
| cursor | ✗ | Hooks run synchronously; no async/background flag documented. |
| gemini-cli | ✗ | Gemini CLI hooks run synchronously; no async execution documented |
| kiro | ✗ | Kiro hooks run synchronously; no async execution documented |
| opencode | ✗ | not documented |
| pi | ✗ | Pi extension handlers are awaited synchronously in registration order; no fire-and-forget async execution documented |
| roo-code | ✗ | not documented |
| windsurf | ✗ | Windsurf hooks run synchronously; post_cascade_response and post_cascade_response_with_transcript fire asynchronously after the response but hooks themselves do not execute fire-and-forget |
| zed | ✗ | not documented |