Skip to content

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

@byapparov

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
    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