fix(hooks): honor lifecycle quiescence#432
Conversation
|
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b2fd149f4a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Commands::HookPreToolUse | Commands::HookPromptSubmit | Commands::HookStop => { | ||
| Some(HookInput::NoInput) |
There was a problem hiding this comment.
Drain Claude stdin hooks while quiescing
Claude's hooks reference says command hooks receive the event JSON on stdin, and this repo wires PreToolUse, UserPromptSubmit, and Stop as command hooks in plugin/hooks/hooks-claude.json. Classifying these variants as NoInput makes the new Busy path return without draining them; when an update/migration holds the exclusive lifecycle lease and Claude submits a large prompt/stop payload, Claude can see a broken pipe or hook failure instead of the intended fail-open quiescence. Please treat these as Stdin for the busy drain even if the dispatcher ignores the payload.
Useful? React with 👍 / 👎.
Summary
Verification