A simple SDK that lets your users log in with their ChatGPT account.
- Users bring their own ChatGPT subscription
- Tokens never touch the browser: HttpOnly cookie only
- Works with the Vercel AI SDK:
streamText()straight from the client - Generates and edits images with size, quality, format, masks, and streaming previews
- Experimental GPT Live WebRTC audio with native interruption, plus desktop-style app-server handoffs for arbitrary allowlisted tools and explicit confirmations
- Open source, MIT licensed
The handler keeps tokens behind the proxy path by default. The browser gets a session cookie, asks your backend which models the account has, and streams from there.
bun add @opencoredev/loginwithchatgpt-core @opencoredev/loginwithchatgpt-server @opencoredev/loginwithchatgpt-react @opencoredev/loginwithchatgpt-ainpm and pnpm work too. Everything ships as ESM with types for Node 18+.
| Package | Does |
|---|---|
@opencoredev/loginwithchatgpt-core |
OAuth, token refresh, model discovery, private voice transport, and the app-server browser client |
@opencoredev/loginwithchatgpt-server |
Backend handler: login, models, responses, direct voice signaling, and native tool handoffs |
@opencoredev/loginwithchatgpt-react |
The <LoginWithChatGPT /> button and hook |
@opencoredev/loginwithchatgpt-ai |
Vercel AI SDK providers |
Start with the quickstart. The security model explains how tokens stay on your server, and the production checklist is there for when you deploy.
For the experimental subscription-backed speech-to-speech transport, native tool handoffs, confirmation lifecycle, and transport limitations, see experimental ChatGPT voice transport.
Using Claude Code, Cursor, or Codex? Install the agent skill so your agent wires the SDK correctly: no invented API keys, and no assuming one model slug works for every account.
npx skills add opencoredev/login-with-chatgptThen just ask your agent to "add Login with ChatGPT" and it will mount the handler, render the button, and stream through the proxy the right way. Also on skills.sh.
MIT License · Built by @leodev