Problem
The setup wizard calls auth.Login() which opens a browser for OAuth. In headless or remote environments (SSH sessions without X forwarding, Docker containers, GitHub Codespaces CLI, remote dev boxes), the browser open either silently fails or opens on the wrong machine.
The user is left staring at a spinner with no way to complete setup.
Affected environments
- SSH sessions (no
DISPLAY / no BROWSER)
- Docker containers
- GitHub Codespaces (CLI / non-browser access)
- Remote dev boxes
Current experience
◆ Authentication
Opening your browser to sign in and generate an API key…
[hangs or fails silently]
Expected experience
When browser open fails (or DISPLAY/BROWSER is unset), print the auth URL and prompt for a token:
Opening your browser to sign in…
Could not open a browser. Visit this URL to authenticate:
https://console.supermodeltools.com/cli-auth/?port=...
Paste your API key here: _
Notes
supermodel login --token <key> already exists as a workaround but users won't know to use it during first-run
- The fix belongs in
auth.Login() — detect browser open failure and fall back to the print-URL + prompt flow
Problem
The setup wizard calls
auth.Login()which opens a browser for OAuth. In headless or remote environments (SSH sessions without X forwarding, Docker containers, GitHub Codespaces CLI, remote dev boxes), the browser open either silently fails or opens on the wrong machine.The user is left staring at a spinner with no way to complete setup.
Affected environments
DISPLAY/ noBROWSER)Current experience
Expected experience
When browser open fails (or
DISPLAY/BROWSERis unset), print the auth URL and prompt for a token:Notes
supermodel login --token <key>already exists as a workaround but users won't know to use it during first-runauth.Login()— detect browser open failure and fall back to the print-URL + prompt flow