Use the subscription you already pay for
I installed gptme 0.33.0 in a clean container, pointed it at a ChatGPT Plus token, and got PONG back in 13 seconds. The wizard still told me to buy an API key.
gptme can use the ChatGPT Plus/Pro or SuperGrok plan you already pay for. No platform API key. That shipped. I had not actually run the path a new user would run.
So I did. Clean python:3.12-slim container, nothing in $HOME:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install gptme # 1.71s, gptme 0.33.0
Then, with only an OpenAI subscription OAuth file in place:
gptme -n "Reply with exactly the single word PONG and nothing else."
# 12.95s. The reply was PONG. Model: openai-subscription/gpt-5.6-sol
Same container, grok CLI tokens at ~/.grok/auth.json:
gptme-auth grok-subscription
# ✓ Found valid grok CLI tokens
gptme -n -m grok-subscription/grok-4.6 "Reply with exactly the single word PONG and nothing else."
# 14.77s. PONG.
The feature works. That was the question.
The wizard still thinks you need an API key
gptme-onboard --check on the same install, with the same working OpenAI
token:
openai-subscription │ ❌ Not configured
❌ No API keys detected!
To use gptme, you need at least one API key.
export ANTHROPIC_API_KEY='sk-ant-...'
gptme-doctor on that same home directory said openai-subscription
Authenticated (OAuth). The runtime autodetected the file and replied. The
wizard is the thing that is wrong.
That onboard false-negative is gptme#3720,
merged 2026-09-08, not in PyPI 0.33.0 (released 2026-08-19). If you
installed from PyPI this week, believe gptme-doctor and a real prompt, not
gptme-onboard --check. Remaining master copy/docs gaps:
gptme#3774.
What a new user should actually run
Interactive, with a browser:
uv tool install gptme
gptme-auth openai-subscription # ChatGPT Plus/Pro, opens a browser
# or
gptme-auth grok-subscription # SuperGrok; reuses grok CLI login if present
gptme "hello"
Headless, if you already ran grok login on the machine:
gptme-auth grok-subscription # should succeed without a browser
gptme -m grok-subscription/grok-4.6 "hello"
If you already have a ChatGPT subscription token at
~/.config/gptme/oauth/openai_subscription.json, just run gptme. It will
pick it up. You do not need to export OPENAI_API_KEY.
A cheaper first model than the autodetect default:
gptme -m openai-subscription/gpt-5.6-luna "hello"
Friction I would not want a stranger to hit
- Empty-state errors still talk only about API keys, including on
current master.
gptme -n hellowith no credentials points you atexport ANTHROPIC_API_KEY=...and getting-started. Getting-started does not mention subscriptions. The feature lives in the README and the providers doc. gptme-auth openai-subscriptionon a non-TTY hides the fallback URL. OpenAI uses builtinprint()(block-buffered when stdout is not a terminal). Grok uses Rich and the URL shows up. Workaround:PYTHONUNBUFFERED=1.- PyPI 0.33.0’s package README does not mention subscription auth. The docs PR landed the day after the release.
The live-browser OAuth click-through is the one step I did not complete in the container. No display, no human. Token reuse is a documented path, and it is the path that produced the first replies above.
If you already pay for ChatGPT or SuperGrok, you do not need a second billing relationship to try gptme. The binary will take the subscription. The onboarding copy has not caught up.