Skip to main content

Sign in with ChatGPT moves the AI bill to the user

A ChatGPT login that lets your app's AI run on the user's own Plus or Pro plan. How it works, who can use it today, what it changes about pricing AI features, and where it breaks.

6 min read

Every AI feature in a product has a running cost. Each summary, suggestion or agent step is a call to a model, billed per token, and the bill goes to whoever holds the API key. For most products that’s the company, which is why free tiers with AI in them are expensive and why so many AI features sit behind a paywall. The alternative, asking users to paste in an API key of their own, works for developers and almost nobody else.

At its DevDay on 29 September, OpenAI added a third option. With Sign in with ChatGPT, a user logs in to your product with their ChatGPT account and, if they agree, your product’s AI requests run on their ChatGPT plan instead of your API key. It’s a genuinely new way to pay for AI features. It’s also narrower today than the launch suggested, and it has sharp edges that matter before anyone builds a business model on it.

Two features behind one button

Identity. Any website can add a “Continue with ChatGPT” button. It’s standard OAuth 2.0 with PKCE and OpenID Connect, requesting the usual openid, profile and email scopes, and the app receives a stable account identifier, the user’s name, email address and profile picture. Functionally it’s a login provider like Google or Apple.

Plan usage. This is the new part. An app can also request additional scopes, the key one being chatgpt.tokens.use.direct, that let it send model requests through OpenAI’s Responses API and have them count against the user’s ChatGPT plan. It works for Plus and Pro subscribers. The user approves it separately from signing in, and can sign in without granting it. Granting it doesn’t give the app access to the user’s conversations or memories.

For desktop and open-source tools, OpenAI publishes a devkit that handles the whole flow: open the browser to sign in, list the models the user’s plan can reach, and stream a response billed to that plan. The registration needs no client secret, which suits apps that run on the user’s own machine.

Who can use it today

Identity is open to any website. Plan usage isn’t, yet. OpenAI’s documentation describes it as “available to all open-source partners and selected private clients”, along with personal projects that run locally. A paid or remotely hosted app, which describes most commercial software, has to register interest and wait.

The launch list reflects that. OpenAI’s help pages name twelve products using plan usage, including Vercel, Notion, Warp and Devin, plus five offering sign-in only. For a company building a hosted SaaS product today, the button is available and the billing shift isn’t.

What the user controls

The controls sit in ChatGPT’s settings.

  • A weekly cap per app, set as a percentage of the user’s overall weekly allowance. It’s a ceiling, not a reservation: it doesn’t set usage aside for the app or add to the plan.
  • No surprise charges by default. Once the plan’s allowance is used up, an app can continue on the user’s purchased credits only if the user has explicitly allowed it. The option is off by default, and WorkOS notes it also requires that app’s cap to be set to 100%.
  • Disconnecting is a separate step. Signing out of an app ends the session, but the app stays connected and can keep using the plan. Revoking it means going to Settings, then Security and login, and disconnecting it there.

What it changes about pricing

The economics are the reason to pay attention. Today, an AI feature’s cost scales with use and lands on the company, so a generous free tier is a growing liability and every pricing decision starts with a token budget. Plan usage moves that marginal cost onto an allowance the user is already paying for elsewhere. A product could offer its AI features free to anyone with a ChatGPT subscription, let people try it without entering a card, and price its paid tier on the value of the product rather than on the cost of the model.

It isn’t the first attempt at this. OpenRouter already lets apps run an OAuth flow that gives them a user-controlled key, billed to the user’s own OpenRouter credits, and its documentation sets no comparable eligibility limits. What it lacked is the reason Sign in with ChatGPT matters: the user has to have topped up credits in the first place. A ChatGPT subscription is something a large number of people already pay for every month, for other reasons. Turning that into a budget they can spend in other products is what makes this different, if OpenAI opens it to commercial apps.

Where it breaks

WorkOS, which sells authentication tooling, published the most careful analysis of the builder’s side, and most of its warnings are about assumptions that don’t hold.

There’s no automatic fallback. When a user’s allowance runs out, “OpenAI does not silently switch the request to another billing path.” The request fails, and it’s the app’s job to fall back to its own API key, pause, or tell the user.

Revocation is silent. OpenAI doesn’t notify an app when a user disconnects it. The app finds out when the next request fails.

Allowances are shared. On Plus, according to WorkOS, every connected app draws from the same five-hour usage window, so a busy app can exhaust another’s allowance, and the user’s own ChatGPT use competes with both.

Personal plans meet company work. When an employee connects their personal Plus or Pro plan to a work tool, the company’s admins have no view of it. That’s a governance problem for anyone selling to businesses.

It’s OpenAI’s models only. Plan usage reaches the models on the user’s ChatGPT plan, through OpenAI’s API. A product that wants to choose models by task, or switch vendor, needs its own key anyway.

Only paying ChatGPT users qualify. Free ChatGPT accounts can sign in but can’t lend their plan, so the feature helps exactly the users who already pay for AI elsewhere.

How we’d build for it

The design that holds up treats plan usage as one funding source among several. AI calls go through an interface that knows two ways to pay: the company’s own key and, when the user has granted it, the user’s plan. Each user’s connection has an explicit state, granted, capped, not eligible or revoked, updated from every response, because failures are the only signal the app gets. When a plan request fails, the app falls back to its own key within whatever limits the product sets, or pauses and says so. And on logout, the app revokes the stored tokens rather than just clearing them, so “signed out” means what the user thinks it means.

For an open-source or locally run tool, that’s worth building now. For a hosted product, the practical steps are smaller: add the login button if your users live in ChatGPT, register interest in plan usage, and measure how many of your users have a Plus or Pro plan, because that number decides how much of your AI bill could move.

What we’d do with it

We’d add it where it fits and design for its absence. Our AI integrations already sit behind an interface so the model can change; a second way to pay is the same discipline applied to billing. What we wouldn’t do is build a pricing model that only works if OpenAI opens plan usage to commercial apps on a timeline it hasn’t announced.


Sources

Got an idea?Tell us about it.

Send a short brief. We'll come back with questions, a call slot and a straight answer on whether we're the right team.

Start a project