Skip to content

specfact upgrade succeeds but pipx launcher can stay stale/broken #593

@danieldekay

Description

@danieldekay

Summary

specfact upgrade reports success, but the installed specfact launcher can remain stale and still point to an old pipx venv path. This leaves specfact broken (or effectively old) until a manual reinstall.

Environment

  • OS: macOS
  • Shell: zsh
  • pipx --version: 1.12.0
  • SpecFact before upgrade command output: SpecFact CLI - v0.46.25
  • Update check reports latest as 0.46.28

Reproduction

  1. Run:
    specfact upgrade
  2. Confirm updater output:
    • detects pipx
    • runs pipx upgrade specfact-cli
    • reports success and says already latest 0.46.28
  3. Run:
    specfact --version

Actual result

Launcher still references an old path and fails (or appears stuck on old runtime depending on shell/path state), e.g.:

/Users/<user>/.local/bin/specfact: line 2: /Users/<user>/Library/Application Support/pipx/venvs/specfact-cli/bin/python: No such file or directory

The script content showed stale exec path:

'''exec' '/Users/<user>/Library/Application Support/pipx/venvs/specfact-cli/bin/python' "$0" "$@"

Expected result

After specfact upgrade, specfact --version should reliably use the upgraded runtime and launch successfully without requiring manual repair.

Workaround

pipx reinstall specfact-cli

After reinstall, launcher is corrected and specfact --version returns 0.46.28.

Suggestion

When installation method is pipx, if pipx upgrade reports "already latest", the upgrader could:

  • validate launcher integrity by invoking specfact --version
  • if launcher is broken/stale, run pipx reinstall specfact-cli (or provide a clear remediation message)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions