pi extension: personal use Alpha preview
One balance and every frontier model for your own work, from your terminal. The pi extension is in alpha. APIs may shift before GA, and the catalog and pricing are still being tuned.
Sign up and add credit; Switchboard is prepaid, so your balance is the only thing your agent can spend. No API key is needed for personal use; your terminal signs in with your account in step 3.
Create your account pi is a
terminal coding agent. One extension registers every Switchboard catalog
model under a switchboard provider, with streaming, tool
calling, thinking, and prompt caching working exactly as they do against
the providers directly:
npm install -g @earendil-works/pi-coding-agent
pi install https://github.com/Valni-Labs/pi-switchboard@v0.3.3
The extension lives at
Valni-Labs/pi-switchboard.
The pinned tag is the tested release; drop it to track main.
Update later with pi update --extensions.
From any directory:
pi
> /login
> /model
> Say hi /login lists Switchboard in pi's provider picker; pick it,
and pi shows a short code and opens your browser on the approval page.
One click and your terminal is connected, and /model shows
your catalog. No keys to copy and nothing to configure. Signed out,
Switchboard lists no models; the moment you sign in, the catalog loads
live from your account. Each signed-in device appears under
Devices in
account settings, where you can revoke it any time.
For CI or servers where nobody can click an approval, skip
/login and export a key instead:
export SWITCHBOARD_API_KEY=swb_...
export SWITCHBOARD_END_USER_ID=your-user-id
pi --provider switchboard --model claude-sonnet-5 "Say hi"
Your swb_ key is a server-side credential. Your own shell or
CI runner is its intended home; never embed the key or this extension in
an app you distribute to others.
One endpoint serves every model in the catalog:
curl https://switchboard.valni.app/v1/switchboard/inference \
-H "Authorization: Bearer $SWITCHBOARD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5",
"messages": [{"role": "user", "content": "Hello, Switchboard."}],
"user": "end-user-id"
}' Pass any catalog model ID. Switchboard handles upstream routing, retries on 429, and failover across provider keys.
claude-sonnet-5: frontier general-purposeclaude-opus-4-8: frontier agent / long-formgpt-5.5: frontier general-purposedeepseek-v4-flash: baseline, cheapestkimi-k2.6: long-context
The full live catalog is one call away: client.models() in the SDK, or
GET /v1/switchboard/models with your key.