X_UPGRADE_HOP_TOO_WIDE
Means
x upgrade --to is outside the one hop a run may make
Typical cause
the version skips a major, or sits below what the app already pins: each hop gets its own gate so a red one names its own major
Fix
x upgrade --to <next major's newest> --json