Skip to content

Repository files navigation

<LoginWithChatGPT />

A simple SDK that lets your users log in with their ChatGPT account.

npm version GitHub stars Follow @leodev on X

  • 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.

Install

bun add @opencoredev/loginwithchatgpt-core @opencoredev/loginwithchatgpt-server @opencoredev/loginwithchatgpt-react @opencoredev/loginwithchatgpt-ai

npm and pnpm work too. Everything ships as ESM with types for Node 18+.

Packages

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

Docs

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.

Agent skill

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-chatgpt

Then 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.

Star history

Star history

MIT License · Built by @leodev

About

A simple SDK that lets your users log in with their ChatGPT account.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages