Free-tier provider auto-rotation for piclaw. Select cheapskate/auto as your model and requests are transparently routed to whichever free-tier backend is available, rotating on rate-limit errors.
Requires Piclaw >=1.8.0.
Open Settings → Add-Ons and install cheapskate from the catalog.
The addon registers a cheapskate provider with an auto model. When selected, it tries each enabled backend in order, skipping any that are rate-limited or have exhausted their free quota. If one backend fails, it rotates to the next.
Context-length errors also trigger rotation, so long conversations don't get stuck on a backend with a small context window. The registered model metadata always reflects the currently active backend's real limits — context window, max tokens, and reasoning support are not merged across all configured backends.
| Provider | Model | Context | Reasoning | Keychain entry |
|---|---|---|---|---|
| Google Gemini | Gemini 2.5 Flash | 1M | ✅ | google/generative-ai-api-key |
| Cerebras | Qwen 3 235B | 131K | ✅ | cerebras/api-key |
| Groq | QwQ 32B | 131K | ✅ | groq/api-key |
| SambaNova | DeepSeek R1 | 65K | ✅ | sambanova/api-key |
| OpenRouter | DeepSeek R1 (free) | 163K | ✅ | openrouter/api-key |
| OpenCode Zen | GPT OSS 120B | 128K | ✅ | opencode/api-key |
| NVIDIA NIM | Llama 3.3 70B | 131K | ❌ | nvidia/api-key |
| Cloudflare Workers AI | Llama 3.3 70B | 131K | ❌ | cloudflare/api-token plus CLOUDFLARE_ACCOUNT_ID |
Open Settings → Cheapskate to:
The pane reads/writes non-secret config through the direct backend add-on config API (/agent/addons/api/cheapskate/config) and uses /agent/keychain for secrets.

A restart is needed after adding or changing a key for the runtime to pick it up. The settings pane stores the Cloudflare token but does not collect CLOUDFLARE_ACCOUNT_ID; set that non-secret account ID in the runtime environment.
| What | Where |
|---|---|
| API keys | Keychain — each backend has a named entry (see table above). Keys are auto-injected as environment variables at runtime. |
| Backend enabled/disabled | Runtime database — extension KV store (SQLite, global scope, extension ID cheapskate) |
| Safety cap toggles | Runtime database — same KV store as above |
No config files are written to disk. Legacy .pi/cheapskate.json is auto-migrated to the runtime database on first load.
The cheapskate tool supports status, list, usage, and rotate actions for inspecting or changing the active backend.
Outside piclaw, the extension still imports and runs in a vanilla Pi/Bun environment: piclaw-specific config hooks are optional, and KV storage falls back to an in-memory store.