gstack unsticks Windows installs that a false hook error froze

14 hours ago

gstack 1.91.88.0 to 1.91.89.0 (2026-10-11), for Claude Code users: Windows installs stuck on the Git Bash hook false positive get a one-line recovery, auto-update checks each release with its own hook checker, setup stops deleting its own checkout, transcript ingest works on gbrain 0.60, and /retro global counts sessions in their real repository. https://github.com/garrytan/gstack/blob/main/CHANGELOG.md#191890---2026-10-11 https://github.com/garrytan/gstack/blob/main/CHANGELOG.md#191880---2026-10-11 https://github.com/garrytan/gstack/blob/main/docs/troubleshooting.md

Ask

Ask about this presentation

Answers are generated from this presentation.

Chapters

  1. 0:00Recovery
  2. 0:12Updater
  3. 0:25Git Bash
  4. 0:40Setup
  5. 0:54gbrain
  6. 1:11Retro
Show transcript

Recovery

gstack logo

gstack unsticks Windows installs that a false hook error froze

Git Bash hands Bun C:/…, the checker looks for /c/…every TS hook refused
docs/troubleshooting.mdone-line recovery
RecoveryUpdaterGit BashSetupgbrainRetro
garrytan/gstack · CHANGELOG.md 1.91.89.0

On Windows, gstack's hook check wrongly rejected every TypeScript hook, so setup refused them and auto-update held every release. The troubleshooting page now gives a one-line recovery.

Updater

Auto-update now tests each release with that release’s own hook checker

Incoming release’s checkerruns first
Crash or empty reportinstalled checker
Neither answershook-check-unavailable
RecoveryUpdaterGit BashSetupgbrainRetro
garrytan/gstack · CHANGELOG.md 1.91.89.0

One checker bug can no longer hold every release. The updater runs the new release's own hook check first, falls back to the installed one, and holds the update with the fix when neither answers.

Git Bash

Three more Git Bash fixes on Windows

Hook check · reads C:/… and /c/… as one path
/gstack-upgrade and /spec · run in Git Bash
/review and /ship · record a start in a linked worktree
RecoveryUpdaterGit BashSetupgbrainRetro
garrytan/gstack · CHANGELOG.md 1.91.89.0

The hook check now reads both path spellings, and a real syntax error still fails with its own line. /gstack-upgrade and /spec work in Git Bash, and /review and /ship record a start in linked worktrees.

Setup

Setup no longer deletes the checkout it runs from

./setup --host cursorcheckout deleted
Same command nowrefuses, prints the move
Kiro, which writes into its root in place, is refused too.
RecoveryUpdaterGit BashSetupgbrainRetro
garrytan/gstack · CHANGELOG.md 1.91.89.0

With gstack checked out inside Cursor's skills folder, setup for Cursor swapped the runtime root in over it and deleted it. Now setup refuses before writing anything and prints how to move the checkout.

gbrain

Transcript ingest works again on gbrain 0.60 managed brains

Transcript source with no pathowner_unavailable
Each source gets its own checkoutpages import
A source another host holds is never bound. Classic brains are unchanged.
RecoveryUpdaterGit BashSetupgbrainRetro
garrytan/gstack · CHANGELOG.md 1.91.88.0

On gbrain 0.60 managed brains, every transcript page was refused, because gstack registered each source with no folder. Each source now gets a checkout of its own. A source another host holds stays untouched.

Retro

/retro global counts every Claude Code session in its real repository

Every - decoded as /hyphenated paths lost
Session’s own cwd, resolved by gitworktree root
CHANGELOG.mddocs/troubleshooting.md
RecoveryUpdaterGit BashSetupgbrainRetro
garrytan/gstack · CHANGELOG.md 1.91.88.0

/retro global turned every dash in a project folder into a slash, so hyphenated paths broke. It now reads each session's own working folder through git, so worktrees count with their repository. The changelog has the rest.