PostToolUse hooks never fire in VSCode extension (Windows 11, v2.1.49)

Resolved 💬 4 comments Opened Feb 19, 2026 by TanakaSeiji Closed Mar 20, 2026

Summary

PostToolUse hooks configured in settings.local.json never fire when using the VSCode extension on Windows 11.
The same configuration works correctly in the terminal CLI.

Related to #26962 (macOS + CLI), but this is a separate VSCode-extension-specific issue on Windows.

Environment

  • Claude Code version: 2.1.49
  • OS: Windows 11 Home 10.0.26200
  • Shell: bash (MINGW64 / Git Bash)
  • Interface: VSCode Extension (not CLI)

Configuration (settings.local.json)

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write|Bash",
        "hooks": [
          {
            "type": "command",
            "command": "bash ./scripts/timeline_buffer_append.sh",
            "timeout": 10
          }
        ]
      }
    ]
  }
}

Reproduction Steps

  1. Add PostToolUse hook to settings.local.json (project-level)
  2. Open Claude Code in VSCode extension on Windows 11
  3. Ask Claude to edit or create a file (triggers Edit/Write/Bash tools)
  4. Observe: hook command never executes (output file remains empty)

Expected Behavior

bash ./scripts/timeline_buffer_append.sh executes after each Edit/Write/Bash tool call.

Actual Behavior

Hook never fires. Confirmed via: hook writes to .claude/timeline_buffer.jsonl, but the file remains empty throughout the VSCode extension session.

Contrast: CLI works correctly

Running the same Claude Code session via terminal CLI (MINGW64 bash):

  • PostToolUse hook fires correctly on Edit, Write, and Bash tool calls
  • .claude/timeline_buffer.jsonl gets populated as expected

Hooks that DO work in VSCode extension

  • SessionStart (startup matcher) ✅
  • PreToolUse (Edit|Write matcher) ✅
  • PostToolUse ❌ (never fires)

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗