The #330 migration that renames `statusline.js` → `gsd-statusline.js` uses `.includes('statusline.js')` which matches ANY file containing that substring. For example, a user's custom `ted-statusline.js` gets silently rewritten to `ted-gsd-statusline.js` (which doesn't exist). This happens inside `cleanupOrphanedHooks()` which runs before the interactive "Keep existing / Replace" prompt, so even choosing "Keep existing" doesn't prevent the damage. Fix: narrow the regex to only match the specific old GSD path pattern `hooks/statusline.js` (or `hooks\statusline.js` on Windows). Co-authored-by: ddungan <sckim@mococo.co.kr> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
72 KiB
Executable File
72 KiB
Executable File