The Claude Code VSCode extension invokes hooks with "tool_name": "run_in_terminal", which Dippy doesn't recognize as a shell tool:
It then returns {} (no decision), causing Claude Code to fall back to its permission system instead of using Dippy rules. The hook works for web-based Claude but not for VSCode's terminal.