Skip to content

openai-compatible: expose none/minimal reasoning-effort variants so --variant none can disable thinking #78

Description

@byapparov

Follow-up to #75 (items B and C; item A — snake_case reasoning_effort silently dropped — shipped in v0.3.6 via #76).

Problem

There is still no discoverable way to disable thinking on ollama models through the CLI. --variant none resolves to {} (no-op) for the @ai-sdk/openai-compatible provider because:

  • ProviderTransform.variants() (packages/cli/src/provider/transform.ts, ~467) emits only WIDELY_SUPPORTED_EFFORTS (low/medium/high) for this provider.
  • OPENAI_EFFORTS (which already includes none and minimal) is defined nearby but unused for this provider.
  • Variants are only emitted when capabilities.reasoning === true, which gates the one variant whose purpose is to disable reasoning.

The working escape hatch is setting reasoning_effort: "none" (or camelCase reasoningEffort) in the model's options — functional since v0.3.6, but not discoverable.

Proposed change

  1. Use OPENAI_EFFORTS for @ai-sdk/openai-compatible in ProviderTransform.variants() so --variant none / --variant minimal produce reasoning_effort in the request body.
  2. Don't require capabilities.reasoning === true to expose the none variant.
  3. Docs: document --variant none (and the reasoning_effort: "none" option fallback) as the way to disable thinking for ollama / openai-compatible models.

Refs

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions