The PKCE flow runs a temporary HTTP server onDocumentation Index
Fetch the complete documentation index at: https://authsome.mbajaj.me/llms.txt
Use this file to discover all available pages before exploring further.
127.0.0.1:7999 to receive the OAuth callback. Most login failures fall into one of the categories below.
redirect_uri_mismatch
The provider’s authorization page returns:
Open your OAuth app settings
For GitHub: github.com/settings/developers. For other providers, find the equivalent OAuth app management page.
Edit the callback URL
Set Authorization callback URL (or the equivalent field) to
http://127.0.0.1:7999/callback. The path matters — it must be /callback, not /.Port 7999 already in use
lsof shows nothing yet the bind still fails.
Browser does not open
The terminal prints the authorization URL but no browser launches.| Cause | Fix |
|---|---|
| You’re SSHed into a remote machine | Use --flow device_code instead. See Headless setup. |
webbrowser Python module can’t find a default browser | Set BROWSER env var: export BROWSER=$(which firefox). |
Headless Linux without DISPLAY | Same as SSH — use the device code flow. |
http://127.0.0.1:7999/callback on the same machine where authsome is waiting, the flow completes.
Browser opens but never returns to authsome
The browser shows the provider’s authorization page, you click Authorize, and… nothing. The terminal is still waiting.| Cause | Fix |
|---|---|
The browser landed on http://127.0.0.1:7999/callback but authsome timed out | Re-run authsome login --force. |
A corporate proxy is intercepting 127.0.0.1 traffic | Add 127.0.0.1 and localhost to your NO_PROXY env var. |
| You authorized in a different browser profile that can’t reach localhost | Use the same browser profile as your authsome shell. |
state mismatch error
state parameter and rejects callbacks that don’t echo it back. Causes:
- A stale tab from a previous login is hitting the callback. Close it and retry.
- A man-in-the-middle is replaying old callback URLs. Investigate before retrying.
client_id or client_secret rejected
The provider’s token endpoint returns invalid_client.
Scopes not granted
The login completes but the agent gets403 Insufficient scope on real API calls.
What’s next
Token refresh
What to do when a refresh fails.
Headless device code
The right flow when you can’t run a browser locally.