Skip to content

pi hardcodes reasoning:true → non-reasoning models (gpt-4o) no-op instantly #792

Description

@gewenyu99

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions