Windows Support

This plugin is tested and supported on Windows, macOS, and Linux (Ubuntu).

On Windows, Claude Code runs hook scripts via Git Bash (MINGW64), which ships with Git for Windows. This provides a POSIX-compatible environment where the plugin’s bash scripts work correctly.

What works out of the box

Most GNU utilities that the plugin depends on are included with Git Bash:

Tool Used for Git Bash status
bash Hook script execution Included
mktemp Atomic file writes Included
date -u UTC timestamps Included (GNU date)
sed -E Regex parsing Included (GNU sed)
grep -E Pattern matching Included (GNU grep)
awk Score calculations Included (GNU awk)
wc, tr, cut, xargs Text processing Included

Required: jq

The one dependency not included with Git Bash is jq, a JSON processor used by all hook scripts for reading and writing game data.

Without jq: Most plugin skills (/guide:onboard, /guide:ask, /guide:migrate-to-claude) work normally. Game Mode hooks will silently skip tracking — no errors, but no usage data will be collected. When you run /guide:game-mode or /guide:level-up, Claude will detect jq is missing and show installation instructions.

Installing jq on Windows

Option 1 — Download to your user bin directory (Git Bash):

mkdir -p ~/bin
curl -sL https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-windows-amd64.exe -o ~/bin/jq.exe
chmod +x ~/bin/jq.exe

Git Bash includes ~/bin in PATH by default. Verify with:

jq --version

Option 2 — Chocolatey:

choco install jq

Option 3 — Ask Claude:

Just tell Claude: “install jq” — it will handle the download.

Installing jq on other platforms

Platform Command
macOS brew install jq
Ubuntu/Debian sudo apt install jq
Fedora/RHEL sudo yum install jq

Windows-specific adjustments

The plugin includes the following adjustments for Windows compatibility:

Path normalization

Claude Code on Windows provides file paths with backslashes (e.g., C:\Users\you\.claude\plans\file.md). The hook scripts normalize these to forward slashes before pattern matching, so features like plan-file detection work correctly on all platforms.

Affected file: hooks/scripts/track-usage.sh

Graceful jq fallback

All hook scripts check for jq availability before running. If jq is not installed, hooks exit silently with no error output. This ensures the plugin never disrupts your workflow — hooks install automatically with the plugin and should never produce unexpected errors.

Affected files: All scripts in hooks/scripts/

File locking

The plugin uses flock for file locking when it is available. If flock is unavailable (for example, in default Windows or macOS setups), locking is gracefully skipped. This is safe because hook invocations within a single Claude Code session are sequential, and the game data file is low-risk (worst case: a counter is off by one).

Affected files: All tracking scripts in hooks/scripts/

Troubleshooting

Symptom Cause Fix
Game mode shows zero counts after use jq not installed Install jq (see above)
Hook errors in terminal Unexpected — hooks are designed to fail silently Check jq --version; if missing, install it
Plan-file writes tracked as “editing” instead of “planning” Path normalization issue Update to latest plugin version

Platform test matrix

Platform Shell Status
Windows 11 Git Bash (MINGW64) Tested
macOS zsh / bash Tested
Ubuntu Linux bash Tested

Claude and Claude Code are products of Anthropic, PBC. This guide is a community project and is not affiliated with or endorsed by Anthropic. Original content is licensed under CC BY 4.0 — the license does not cover Anthropic's product or official documentation.

This site uses Just the Docs, a documentation theme for Jekyll.