Found testing an OpenAI sonnet-class model (openai/gpt-4o) via pi, per the parity suite (#528).
What
| Model |
Type |
pi result |
| claude-sonnet-4-6 |
reasoning |
✅ full integration (~10 min) |
| openai/gpt-5 |
reasoning |
✅ works but too slow (>15 min, #789) |
| openai/gpt-4o |
non-reasoning |
❌ no-op in 12s — agent "completes" with zero code |
The gateway accepts openai/gpt-4o (a plain completion returns gpt-4o-2024-08-06). So it's not the model id and not capability — pi itself choked.
Cause
harness/pi/index.ts registers every gateway model with reasoning: true (line ~247), unconditionally. gpt-4o isn't a reasoning model, so pi's reasoning-configured request produces no usable tool loop — the run races through the screens in 12s and writes nothing (but the loose E2E check still says PASS because deps were added).
Impact
pi can currently only drive reasoning models. That rules out the cheaper/faster sonnet-class OpenAI tier (gpt-4o), which is exactly what you'd want as a cost/speed alternative — flagship gpt-5 is too slow (#789). Fix: set reasoning per-model in the registration (or infer it) so non-reasoning models work.
Not a #701 blocker (pi opt-in/off; default/anthropic unaffected), but it narrows pi's usable model set to reasoning models only.
Found testing an OpenAI sonnet-class model (
openai/gpt-4o) via pi, per the parity suite (#528).What
The gateway accepts
openai/gpt-4o(a plain completion returnsgpt-4o-2024-08-06). So it's not the model id and not capability — pi itself choked.Cause
harness/pi/index.tsregisters every gateway model withreasoning: true(line ~247), unconditionally. gpt-4o isn't a reasoning model, so pi's reasoning-configured request produces no usable tool loop — the run races through the screens in 12s and writes nothing (but the loose E2E check still says PASS because deps were added).Impact
pi can currently only drive reasoning models. That rules out the cheaper/faster sonnet-class OpenAI tier (gpt-4o), which is exactly what you'd want as a cost/speed alternative — flagship gpt-5 is too slow (#789). Fix: set
reasoningper-model in the registration (or infer it) so non-reasoning models work.Not a #701 blocker (pi opt-in/off; default/anthropic unaffected), but it narrows pi's usable model set to reasoning models only.