Choose a responsive chain
Verified starting routes, account limits and practical latency tuning.
On this page
Overview
There is no universal best free chain: select by successful tool use on your account, request size, first-output latency and independent available capacity. A shared free pool can change availability between two turns. Model aliases and multiple keys do not multiply one provider's allowance.
Recommended starting order for this installation
| Position | Provider / model | Evidence and role |
|---|---|---|
| 1 | OpenRouter cohere/north-mini-code:free | Current zero-price catalog with tools; live tool call 1.506s, a smaller Claude tool round trip 4.809s and a default-tools create/test/run task 11.295s on October 24. Fast starting route, shared free capacity. |
| 2 | Groq openai/gpt-oss-120b | Historical real coding success. Official free limits list 8K TPM, 30 RPM, 1K RPD and 200K TPD; the account console is authoritative. Full Claude instructions/tools/history can exceed 8K before the first reply. |
| 3 | NVIDIA openai/gpt-oss-20b | Historical generation success; recent receipts include repeated 30s timeouts. Use as a capacity fallback, not an assumed fastest route. No universal free balance asserted. |
| Conditional | LLM7 gpt-oss:20b | Live forced tool success 1.369s, then 429; retain the saved key and respect its reported reset. Move ahead of slow fallback only after available capacity is verified. |
| Conditional | Gemini gemini-2.5-flash / gemini-2.5-flash-lite | Tool/vision API support documented, but saved-account generation returned 404. Retained legacy fallbacks are not ready backup capacity. Repair account access before relying on them. |
Fresh installations seed reviewed starting routes. Startup preserves administrator-configured chains. Existing installations may differ: inspect each virtual model in the console and verify provider/model access before changing the order. Unavailable or skipped routes do not count as capacity. Keep account failures and unknown limits visible; never replace saved credentials to repair a model route.
This first route is an OpenRouter route, not the direct Cohere evaluation adapter. Direct Cohere tools/vision remain unverified and coding requests exclude that adapter. Switching to Kilo/xKiro models on the same underlying free service may not provide independent capacity; no saved account generation is established.
Configure each tier once
- Add your official free keys in Providers; discovery checks catalog availability.
- In Models, select conflux/claude-sonnet, then inspect with Tools enabled.
- Put successfully tested, available tool-capable routes first. Check exact IDs.
- Repeat for conflux/claude-haiku, conflux/claude-background and Opus if used.
- Create a key/profile permitting every requested tier. A Sonnet-only Harness Profile must map *all* tier variables to its assigned model; generated profile configuration does that. The general launcher needs a key allowing all four.
- Use a short tool task in a scratch directory; inspect both the tool call and the tool-result continuation. Record errors/latencies before reordering.
For images, this installation has no newly verified fast vision fallback. The catalog's context length or declared tools is not proof of your account's end-to-end coding/vision fidelity. Never strip images/tools/history to force a request through a text-only model.
Reduce avoidable latency
- Start Claude with --effort low for routine tasks; increase it when useful. Models without native control get an explicit prompt preference. Low effort does not guarantee that a provider disables hidden reasoning.
- Start a fresh CLI session when old history is irrelevant. Use --bare only for diagnosis; it also skips automatic project instructions and integrations.
- Review tool schemas/MCP integrations and output caps. A "hello" still resends system instructions and tools. Low max_tokens alone does not fix oversized input.
- Keep degradation wait/retry off for a latency-oriented chain. Long reset windows should skip to independent capacity rather than wait on the same account.
- Production: npm run build then npm start, or Docker. Dev compilation is not a provider-speed benchmark. TLS proxies must flush SSE without buffering.
Optional tuning for streaming, in .env / Compose, then restart:
CONFLUX_UPSTREAM_TIMEOUT_MS=30000
CONFLUX_FIRST_OUTPUT_TIMEOUT_MS=10000A full default-tool test timed out with a 10s deadline before a later test completed in 11.295s; 10s is not a reliable universal default. The running gateway retains 30s to tolerate larger prompts. The second setting covers connection, headers and waiting for substantive streaming output; role-only frames cannot keep it alive indefinitely. It is capped by the upstream timeout. After output commits, the original idle timeout applies. JSON uses the original overall timeout. Defaults remain 30s for compatibility. A shorter first-output deadline can reject busy, long-prefill or reasoning-heavy models; raise it for workloads that need them. There is no speculative parallel generation.
Understanding timing
Receipts report full request/hop durations, not pure gateway overhead or a promise of future speed. A 4ms gateway 503 plus ten CLI retries can take minutes. A 30s hop before fallback adds 30s even if the next provider answers in 1s. First answer text can arrive after reasoning has already committed a stream; such a stream cannot be safely replayed. Playground separates first-answer text and elapsed time.
Official references, accessed 2026-10-24: