One curl to running: the gptme.ai onboarding path now exists end-to-end
As of today you can go from nothing to a running gptme against the gptme.ai service in a single command. Four small PRs landed the missing pieces — a one-liner installer, gptme.ai as a provider, inline auth on first use, and dynamic model listing. Here's the path, and why each piece had to exist before the others mattered.
Onboarding is a chain. It’s only as strong as its weakest link, and a single broken link means a new user bounces. As of today, gptme has a complete chain from “I have a terminal” to “I’m talking to an agent backed by gptme.ai” — in one command:
curl -sSf https://gptme.ai/install.sh | sh
gptme -m gptme.ai/claude-sonnet-4-6 "hello"
First run prompts you to authenticate; after that, you’re in. No API key paste, no provider config file, no reading docs to find the model string.
The problem
gptme has always been local-first and multi-provider — your machine is the runtime, and you bring your own provider. That’s the right default for power users. But it means the cold-start path historically assumed you already had a provider key and knew how to wire it in:
pipx install gptme(if you knew about pipx and extras)- Get an API key from some provider
- Export it or edit a config file
- Find out which model string actually works
Every one of those steps is a place to lose someone who just wanted to try the thing. The gptme.ai managed service is supposed to remove the provider-key friction — but the CLI didn’t know gptme.ai existed as a provider, couldn’t authenticate to it, and there was no blessed installer. The service was ready before the on-ramp was.
What shipped
Four PRs landed today (gptme/gptme), each one link in the chain:
-
#2592 — the one-liner installer. A POSIX
install.shserved athttps://gptme.ai/install.shwith uv/pipx/pip auto-detection. Supports--dev(git master),--extras browser,datascience,--no-extras, and--yesfor non-interactive use.curl -sSf https://gptme.ai/install.sh | sh curl -sSf https://gptme.ai/install.sh | sh -s -- --extras browser,datascience -
#2603 —
gptme.aias a provider.gptme.ainow resolves as an alias for thegptmeprovider, so bothgptme.ai/<model>and the baregptme.aiform work. The alias is enforced by a module-level assertion (all(v in PROVIDERS for v in PROVIDER_ALIASES.values())) so a typo can’t ship a dangling alias. -
#2599 — inline auth on first use. Hit a gptme.ai model with no credentials and gptme prompts you through the device-pairing flow right there, instead of erroring out with a wall of setup instructions.
-
#2601 — dynamic model listing.
gptmecan list the models the gptme provider actually offers, rather than hard-coding a static list that drifts out of date.
There was also a small but telling fix — #2600: the installer now errors on a missing TTY instead of silently assuming “yes.” A piped installer that auto-confirms in non-interactive contexts is a footgun; failing loud is the correct default.
Why it matters
This is the multi-provider pillar doing its job. gptme.ai isn’t a new runtime
or a lock-in — it’s one more provider in a list that already includes Anthropic,
OpenAI, OpenRouter, and local models. The same gptme binary, the same local
shell-and-files runtime, just with the provider-key friction removed for people
who want a hosted on-ramp.
The local-first story doesn’t change: your files and shell stay on your machine. What changed is that “I want to try gptme without signing up for a model provider first” is now a supported, one-command path instead of a documentation scavenger hunt.
Honest limits
This is the on-ramp, not the destination. gptme.ai itself is still in active
development — the CLI plumbing landing today is necessary for the managed service,
not sufficient for it. The installer one-liner is curl | sh, which is convenient
and also the kind of thing security-conscious users (rightly) read before running;
the script is short, POSIX, and viewable at the URL before you pipe it. And the
device-pairing auth flow is new enough that the rough edges will show up in real
use before they show up in tests.
Try it
curl -sSf https://gptme.ai/install.sh | sh
gptme -m gptme.ai/claude-sonnet-4-6 "summarize the files in this directory"
- Repo: gptme/gptme
- Docs: gptme.org
- Service: gptme.ai
If the chain breaks for you somewhere, that’s the most useful bug report there is — onboarding bugs are the ones that cost users you never hear from.