fix: Claude Code v2.1.84–v2.1.86 JSONL compat + hook display#22
Merged
Conversation
…n verbose mode
Hook events in Claude Code's verbose/stream-json output mode are written as
{type:"system", subtype:"hook_progress", hookEvent:..., hookName:...} entries,
not as progress entries. Since "system" is in NOISE_ENTRY_TYPES, these were
silently dropped, causing hooks to never appear in the GUI.
Fix: add subtype/hookEvent/hookName fields to Entry, then rescue system entries
with subtype=="hook_progress" or non-empty hookEvent before the noise filter runs.
https://claude.ai/code/session_01MK63kGRSmtkGSXCDaqh8p3
f6f2b13 to
23b25ed
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PowerShelltool name toToolCategory::Bashso Windows shell commands display correctly (fixes build(deps): bump notify from 7.0.0 to 8.2.0 in /src-tauri #1 / build(deps): bump dirs from 5.0.1 to 6.0.0 in /src-tauri #2)hookEventfield presence in addition todata.type == "hook_progress", covering new event types added in v2.1.84subtype,hookEvent,hookNametoEntrystruct and rescuetype:"system"entries withsubtype=="hook_progress"before the noise filter — this is the actual format used in verbose/stream-json mode; hooks were previously always silently droppedRoot cause of hook display regression
Claude Code's verbose output mode writes hook events as:
{"type":"system","subtype":"hook_progress","hookEvent":"PreToolUse","hookName":"pre-commit",...}Since
"system"is inNOISE_ENTRY_TYPES, these entries were dropped before the existing hook rescue (which only checkedtype:"progress"entries) could fire. The fix adds a rescue path forsystementries with hook fields, mirroring the existing pattern.Test plan
cargo test)classify_rescues_system_hook_progress_subtype,classify_rescues_system_entry_with_hook_event_field,classify_drops_plain_system_entry_without_hook_fields--verboseor--output-format stream-jsonhttps://claude.ai/code/session_01MK63kGRSmtkGSXCDaqh8p3