Files
msd-core/.changeset/1865-launcher-claude-config-dir.md
Tom Boucher a62079b2da fix(#1865): runtime launcher honors CLAUDE_CONFIG_DIR (#2024)
* fix(#1865): runtime launcher honors CLAUDE_CONFIG_DIR

The gsd_run preamble resolved the Claude global install only at
$HOME/.claude/gsd-core/bin/, but the installer honors CLAUDE_CONFIG_DIR —
so a global install redirected via CLAUDE_CONFIG_DIR was invisible to every
gsd_run call (every command failed with 'gsd-tools.cjs not found').

The Claude resolver arm now uses ${CLAUDE_CONFIG_DIR:-$HOME/.claude},
matching the installer + the other runtimes' ${VAR:-default} pattern.
Default $HOME/.claude behavior is unchanged.

- _runtime-launcher.snippet.sh: Claude arm honors CLAUDE_CONFIG_DIR.
- sync-runtime-launcher.cjs re-run: 95 workflows/agents re-synced.
- review.md / discuss-phase.md: trimmed to stay under their byte budgets.
- runtime-launcher-parity.test.cjs: (A) substring updated for the new form
  + explicit #1865 assertion that the snippet honors CLAUDE_CONFIG_DIR.
- goldens + size baselines recaptured.

Closes #1865

* docs(#1865): backfill changeset pr 2024
2026-07-05 14:20:52 -04:00

775 B

type, pr
type pr
Fixed 2024

The runtime launcher now honors CLAUDE_CONFIG_DIR — the gsd_run preamble embedded in every workflow/agent resolved the Claude global install only at $HOME/.claude/gsd-core/bin/, while the installer honored CLAUDE_CONFIG_DIR, so a global install redirected via CLAUDE_CONFIG_DIR was invisible to every gsd_run call (every GSD command failed with gsd-tools.cjs not found). The Claude resolver arm now uses ${CLAUDE_CONFIG_DIR:-$HOME/.claude} — matching the installer and the other runtimes' ${VAR:-default} pattern — so a custom CLAUDE_CONFIG_DIR is found and the default $HOME/.claude path is unchanged. Re-synced into all 95 workflows/agents; two capped workflows trimmed to stay under their byte budgets. (#1865)