Sign-in support in browsers

Apps that run pi-ai in the browser sign in with pi-connect. This is what works there, and why the rest does not. Outside browsers every method works.

Providers

Auth documents revision 2026-10-30.1, also served from /api/auth/providers.

ProviderSign-in methodIn a browser
RadiusRadius API keyWorks.
Sign in with a device codeWorks.
Sign in with the browserNot in browsers. Radius redirects this sign-in only to a local server and offers no paste fallback. Use the device code.
AnthropicAnthropic API keyWorks.
Sign in with Claude (copy a code)Works; sign-in and refreshes go through pi.dev. Anthropic's token endpoint does not accept browser requests, so the sign-in and every token refresh go through pi.dev's relay.
Sign in with Claude (paste the address)Works by pasting an address; apps must enable it. Anthropic redirects this sign-in only to localhost: after signing in, paste the address of the page that fails to load. Its token endpoint does not accept browser requests, so the sign-in and every token refresh go through pi.dev's relay.
OpenAIOpenAI API keyWorks.
Sign in with ChatGPTWorks by pasting an address; apps must enable it. OpenAI redirects this sign-in only to 127.0.0.1: after signing in, paste the address of the page that fails to load.
OpenAI Codex (legacy)AllNot in browsers. chatgpt.com accepts browser requests only from pages on http://localhost.
GitHub CopilotGitHub Copilot tokenWorks.
Sign in with GitHubWorks; sign-in and refreshes go through pi.dev. GitHub's sign-in endpoints do not accept browser requests and the Copilot token endpoint rejects the headers Copilot needs, so the sign-in and every token refresh go through pi.dev's relay. GitHub Enterprise is not supported.
xAIxAI API keyWorks.
Sign in with SuperGrok or X PremiumWorks; sign-in and refreshes go through pi.dev. auth.x.ai does not accept browser requests, so the sign-in and every token refresh go through pi.dev's relay.
MetaMeta Model API keyWorks.
Sign in with MetaWorks; sign-in and refreshes go through pi.dev. auth.meta.com and Meta's key endpoint do not accept browser requests, so the sign-in and the daily key renewal go through pi.dev's relay.
Kimi For CodingAllNot in browsers. api.kimi.com does not accept browser requests.
OpenRouterAllNot in browsers. pi talks to OpenRouter's Anthropic-compatible API, and openrouter.ai refuses the anthropic-* headers those requests carry from browsers.
GoogleGemini API keyWorks.
MistralMistral API keyWorks.
GroqGroq API keyWorks.
DeepSeekDeepSeek API keyWorks.
CerebrasCerebras API keyWorks.
TogetherTogether API keyWorks.
Hugging FaceHugging Face tokenWorks.
FireworksAllNot in browsers. api.fireworks.ai does not accept browser requests.
Moonshot AIAllNot in browsers. api.moonshot.ai does not accept browser requests.