Skip to content

fix: Claude Code v2.1.84–v2.1.86 JSONL compat + hook display#22

Merged
delexw merged 1 commit intomainfrom
claude/fix-repo-issues-oKGOX
Mar 29, 2026
Merged

fix: Claude Code v2.1.84–v2.1.86 JSONL compat + hook display#22
delexw merged 1 commit intomainfrom
claude/fix-repo-issues-oKGOX

Conversation

@delexw
Copy link
Copy Markdown
Owner

@delexw delexw commented Mar 29, 2026

Summary

  • PowerShell tool category: Map PowerShell tool name to ToolCategory::Bash so 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)
  • Hook rescue (progress entries): Guard hook rescue on hookEvent field presence in addition to data.type == "hook_progress", covering new event types added in v2.1.84
  • Hook display fix: Add subtype, hookEvent, hookName to Entry struct and rescue type:"system" entries with subtype=="hook_progress" before the noise filter — this is the actual format used in verbose/stream-json mode; hooks were previously always silently dropped

Root 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 in NOISE_ENTRY_TYPES, these entries were dropped before the existing hook rescue (which only checked type:"progress" entries) could fire. The fix adds a rescue path for system entries with hook fields, mirroring the existing pattern.

Test plan

  • All 268 Rust unit tests pass (cargo test)
  • New tests: classify_rescues_system_hook_progress_subtype, classify_rescues_system_entry_with_hook_event_field, classify_drops_plain_system_entry_without_hook_fields
  • Verify hooks appear in GUI when running Claude Code with --verbose or --output-format stream-json

https://claude.ai/code/session_01MK63kGRSmtkGSXCDaqh8p3

…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
@delexw delexw force-pushed the claude/fix-repo-issues-oKGOX branch from f6f2b13 to 23b25ed Compare March 29, 2026 00:43
@delexw delexw merged commit 1617ff7 into main Mar 29, 2026
1 check passed
@delexw delexw deleted the claude/fix-repo-issues-oKGOX branch March 29, 2026 00:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants