Releases: ModelsLab/modelslab-cli
Releases · ModelsLab/modelslab-cli
Release list
v0.2.0
Authentication diagnostics and credential safety.
A customer with a Google-only account was blocked for ~12 days on "cannot authenticate". Two things were wrong: the server never sent them back to the CLI after signing in, and every error the CLI showed them pointed somewhere useless. Both are fixed — the server side in modelslab-frontend-v2#2831, the CLI side here.
⚠️ Breaking
- Every command now exits with its documented code instead of always
1. Auth failure is3, usage2, rate limit4, not found5, payment6. Scripts testing for-eq 1need updating. - A project-level
.modelslab/config.tomlno longer suppliesbase_url,api_keyortoken. Use--base-urlorMODELSLAB_BASE_URL. Other preferences still merge.
🔒 Security
.modelslab/config.toml is read from the current working directory and was merged wholesale. A committed base_url in any repository you cloned and cd'd into redirected the next modelslab command — with your stored bearer token in the Authorization header — to that host. No prompt, no warning.
Fixed
- Failed logins printed the raw JSON error envelope instead of the message.
- The login hint said "check your email and password" to Google and GitHub accounts, which have no password at all. It now points at
--browser. - A 502 during a deploy was reported as invalid credentials, sending people to reset a password that was never the problem.
auth loginprinted "✓ Logged in" even when the credential write failed, so every later command 401'd for no visible reason.- The authorize URL was never shown when the browser failed to open — on a headless box you waited five minutes for a timeout and never saw the link you could have pasted.
- Piped and CI logins died with
inappropriate ioctl for device, leaving--passwordon the command line as the only option. - The MCP server's
auth-loginreturned a token without applying it, so every later tool call in the process stayed unauthenticated. 429now honoursRetry-Afterand keeps the server's own message instead of a blanket "try again later".- Prompts read a whole line —
auth signuprecorded "Ada" for "Ada Lovelace" — and reject empty input.
Install
npm install -g modelslab-cli
pip install modelslab-cli
curl -fsSL https://modelslab.sh/install.sh | bash
Homebrew and Scoop are still on v0.1.4 while their publishing tokens are rotated.