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
- 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-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 |
@opencoredev/loginwithchatgpt-server |
Backend handler: login, session, logout, models, responses proxy |
@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.
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