Skip to main content
Version: 2.4

Troubleshooting

Start with:

tsm doctor

It checks the configuration, the connection, the login and the tenant of the selected context, and says which step fails.

ProblemCheck withWhat to do
A command from this guide is unknowntsm --versionUpdate the CLI: tsm cli upgrade
No context selectedtsm context listCreate a context and select it: tsm context use NAME --global
Wrong environment or tenanttsm context show --explainPass --context / --tenant explicitly
Not logged in, HTTP 401tsm auth statusLog in again for that context: tsm --context NAME auth login
Token is for a different tenanttsm context show --explainSelect the matching tenant, or log in for that tenant

All checks above only read. When asking for help, include tsm --version, the selected context and workspace, and the error output. Never attach API keys, passwords or tokens.

Problems with the experimental local runtime are covered in Local runtime troubleshooting.

Credential storage and refresh​

An account belongs to the storage provider used at login. Changing credential-storage does not migrate accounts. Select the original provider and log out before signing in with another provider.

auth login supports --password-stdin, --api-key-stdin, --token-stdin and --refresh-token-stdin. Only one credential can be read from stdin per command. A refresh token also requires --client-id. OS storage remains the default; there is no plaintext fallback.

File storage prompts for its passphrase once per command. If saving a rotated session fails after the server accepted the refresh, the CLI warns and keeps the new session for the current command only. Unlock the vault and sign in again before the next command. A rejected session for another tenant is never used for requests. No recovery file containing credentials is written.

Windows storage uses bounded Credential Manager chunks and encoded PowerShell scripts. Failed cleanup is reported; retry auth logout after unlocking the vault to remove committed and staged chunks.

Upgrade inputs​

tsm cli upgrade requires HTTPS by default. --allow-insecure-http is an explicit opt-in for a trusted local test server; HTTPS redirects still cannot downgrade to HTTP. The GitLab token option is --gitlab-token. Upgrade limits are 256 MiB for a binary, 4 MiB for release metadata and 64 KiB for a checksum file. The binary must match the platform executable format and checksum before installation. The standalone install.sh and install.ps1 scripts also require HTTPS. Their explicit local-test override is TSM_ALLOW_INSECURE_HTTP=1; redirects from HTTPS still cannot downgrade to HTTP.