Summary
After upgrading youtrack-cli from 0.24.4 to 0.24.5, every authenticated command fails with
❌ Not authenticated [AUTH_004] even though the stored credentials from 0.24.4 are still on
disk / in the keyring. The security remediations in 0.24.5 (#740–743 / PR #744) appear to have
changed credential handling so the previously-stored token can no longer be read. The only fix
is to run yt auth login again.
If the re-login is intended (e.g. the old storage was insecure and must be re-written), the
release notes / an upgrade notice should say so explicitly. If it's not intended, it's a
credential-read regression.
Reproduction
- Authenticate on 0.24.4 (
yt auth login), confirm yt issues list --project-id X works.
- Upgrade to 0.24.5 (
uv tool upgrade youtrack-cli).
- Run any authenticated command:
$ yt auth status
❌ No authentication credentials found [AUTH_004]
Run 'yt auth login' to authenticate first.
$ yt issues list --project-id NGDEV --format json --top 3
❌ Not authenticated
❌ Error listing issues: Failed to list issues
What survived the upgrade (so the token isn't gone, just unreadable)
~/.config/youtrack-cli/.env intact: YOUTRACK_BASE_URL present, YOUTRACK_API_KEY='[Stored in keyring]'.
- macOS keyring still has entries under service
youtrack-cli.
- But 0.24.5's own loader can't read it:
from youtrack_cli.auth import AuthManager
AuthManager().load_credentials() # -> None on 0.24.5
# (returned the AuthConfig with a valid token on 0.24.4)
yt auth login re-stores the credential and everything works again on 0.24.5.
Impact
- Silent break on upgrade: the credentials look present, but every command fails until re-login.
- The runtime error (
AUTH_004 / Failed to list issues) doesn't explain that an upgrade
invalidated the token, so it's easy to misdiagnose as a network/permission problem.
Suggestions
- If intentional: add an upgrade note in the 0.24.5 release notes and, ideally, a one-time
migration message ("credential storage changed in 0.24.5 — please run yt auth login").
- If unintentional: restore read-compatibility with credentials written by ≤0.24.4, or migrate
them on first run.
- Consider making
yt auth status distinguish "no credentials" from "credentials present but
unreadable/incompatible" to aid diagnosis.
Context
Surfaced via a downstream tool that shells out to yt issues list --format json; the upgrade
broke it purely through this auth change (the JSON/query surface itself is unaffected).
Summary
After upgrading
youtrack-clifrom 0.24.4 to 0.24.5, every authenticated command fails with❌ Not authenticated [AUTH_004]even though the stored credentials from 0.24.4 are still ondisk / in the keyring. The security remediations in 0.24.5 (#740–743 / PR #744) appear to have
changed credential handling so the previously-stored token can no longer be read. The only fix
is to run
yt auth loginagain.If the re-login is intended (e.g. the old storage was insecure and must be re-written), the
release notes / an upgrade notice should say so explicitly. If it's not intended, it's a
credential-read regression.
Reproduction
yt auth login), confirmyt issues list --project-id Xworks.uv tool upgrade youtrack-cli).What survived the upgrade (so the token isn't gone, just unreadable)
~/.config/youtrack-cli/.envintact:YOUTRACK_BASE_URLpresent,YOUTRACK_API_KEY='[Stored in keyring]'.youtrack-cli.yt auth loginre-stores the credential and everything works again on 0.24.5.Impact
AUTH_004/Failed to list issues) doesn't explain that an upgradeinvalidated the token, so it's easy to misdiagnose as a network/permission problem.
Suggestions
migration message ("credential storage changed in 0.24.5 — please run
yt auth login").them on first run.
yt auth statusdistinguish "no credentials" from "credentials present butunreadable/incompatible" to aid diagnosis.
Context
Surfaced via a downstream tool that shells out to
yt issues list --format json; the upgradebroke it purely through this auth change (the JSON/query surface itself is unaffected).