Install
npm i @opengsd/gsd-core@1.4.5
# or
npm i @opengsd/gsd-core@latestWhat's Changed
Fixed
-
model_policyis now honored on the defaultclauderuntime — including theanthropic-fableClaude Fable 5 preset. (#1133)Previously, setting a model policy (e.g.
anthropic-fable+high) had no effect on the defaultclauderuntime: agent model resolution silently fell back tomodel_profile, and no warning was emitted. The policy only worked on non-clauderuntimes (e.g.opencode), so users believed Fable 5 was active when it wasn't.Now the policy resolves on
claudetoo:- Policy-resolved model IDs are mapped to Claude Code agent aliases — e.g.
claude-fable-5→fable,claude-opus-4-8→opus,claude-sonnet-4-6→sonnet. - A policy value that is already a bare alias (e.g.
fable) is used as-is. - An ID with no corresponding Claude alias (e.g. a pinned
claude-opus-4-5) emits a one-time warning and falls back to the configured tier alias, rather than returning a model the Agent tool can't spawn. - Non-
clauderuntimes are unchanged (still resolve to full model IDs).
After upgrading, an
anthropic-fable+highpolicy resolves the opus/sonnet tiers to thefableagent alias as documented. You can verify with:node ~/.claude/gsd-core/bin/gsd-tools.cjs query resolve-model gsd-executor # → { "model": "fable", ... } (previously "sonnet" / "opus")
- Policy-resolved model IDs are mapped to Claude Code agent aliases — e.g.
Full Changelog: v1.4.4...v1.4.5