You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
specify integration upgrade exits 0 when nothing is installed: intended? #5338
What happens (v1.2.6 and main)
In a project with no integration recorded, specify integration upgrade prints No integration is currently installed. and exits 0. test_command_upgrade.py asserts that exit code, so it looks deliberate, which is why I'm asking rather than calling it a bug.
Why it matters
Tools and scripts chain upgrades, for example specify self upgrade && specify integration upgrade && .... Exit 0 reads as "upgraded", so the chain carries on and reports success when nothing changed. Our editor extension's Upgrade button hit exactly this.
Reproduction
cd"$(mktemp -d)"&& git init -q && mkdir .specify
uvx -q --from git+https://github.com/github/spec-kit.git@v1.2.6 specify integration upgrade;echo"exit=$?"# No integration is currently installed.# exit=0
Proposed fix
In integrations/command_upgrade.py, raise typer.Exit(1) instead of typer.Exit(0) on that branch, and update the one test to expect 1. If you'd rather keep 0 for interactive use, a --strict flag that exits 1 would also work for scripts. I can open the PR either way.
AI disclosure: found and reproduced with Claude Code (Claude Opus 5.5, default settings) in a throwaway sandbox; I checked the code and the test before filing.
Activity