You SSH from a laptop into a dev box (Mac mini, Linux VM, cloud box) and run CLIs there. Anything that wants a browser breaks in one of three ways:
- Tools that honor
$BROWSER(Claude Code,gh) just print the URL, because they seeSSH_CONNECTIONand assume there is no display. - Tools that shell out to
open/xdg-open(wrangler, vercel, anything using theopennpm package) open a browser on the remote box, not on your laptop. - OAuth logins redirect to
http://localhost:<port>/callback. The browser resolves that on the laptop, but the CLI is listening on the remote, so the login never completes.
open-on-laptop fixes all three: https://github.com/densumesh/open-on-laptop