-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Closed
Labels
needs-triageNew issue awaiting maintainer reviewNew issue awaiting maintainer review
Description
Bug
gsd-check-update.js (and gsd-statusline.js) hardcode ~/.claude/ as the config directory. This breaks setups where Claude Code uses a custom config directory (e.g. ~/.claude-personal/).
How to reproduce
- Run Claude Code with a custom config directory (e.g.
CLAUDE_CONFIG_DIR=~/.claude-personal) - Run
/gsd:update— files get installed to~/.claude-personal/get-shit-done/ - The update hook reads
VERSIONfrom~/.claude/get-shit-done/VERSION(stale) - The status bar permanently shows the update notification even though the update was installed
Root cause
In gsd-check-update.js lines 12 and 17:
const cacheDir = path.join(homeDir, '.claude', 'cache');
// ...
const globalVersionFile = path.join(homeDir, '.claude', 'get-shit-done', 'VERSION');These should respect CLAUDE_CONFIG_DIR (or however Claude exposes its config path) instead of hardcoding ~/.claude/.
Same issue in gsd-statusline.js which reads the cache file from the hardcoded path.
Expected behavior
The hooks should detect the actual Claude config directory and use it for all file paths (VERSION, cache, etc.).
Environment
- OS: Linux (Arch)
- Claude Code with multiple accounts using separate config dirs (
~/.claude-personal/,~/.claude-work/) - GSD version: 1.22.1
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
needs-triageNew issue awaiting maintainer reviewNew issue awaiting maintainer review