Skip to content

config: model capabilities requires tools — missing field silently skips whole provider (undocumented) #50340

Description

@e3322-pcsk9

Description

In native V2 config, a model entry with capabilities that omits tools fails validation, and the whole provider entry is silently skipped: its models disappear from selection with only a server log line

configuration normalization diagnostic path=$.providers.<id> kind=invalid action="skipped malformed recognized value"

— no indication which field is missing or that the provider was dropped. Reproduced on 2.0.11: adding "tools": true to every capabilities object fixed it (nothing else changed).

The docs show capabilities examples that always include tools, but none of /v2/docs/models, /v2/docs/providers, or /v2/docs/migrate-v1 state that tools is required. The migrate-v1 guide maps modalitiescapabilities.input/output and doesn't mention adding tools, so a converted V1 config hits this trap.

Suggested fix: make tools optional with a default, or document it as required and emit a field-level diagnostic (e.g. $.providers.<id>.models.<model>.capabilities.tools) instead of skipping the provider with a generic warning.

Plugins

  • local plugin: ~/.config/opencode/plugins/openviking
  • opencode-antigravity-auth@latest, superpowers (git)

OpenCode version

2.0.11

Steps to reproduce

  1. In opencode.json, define a custom provider with a model that has:
"capabilities": { "input": ["text"], "output": ["text"] }
  1. Reload config (or restart)
  2. Observe: provider and its models are unavailable; server log shows path=$.providers.<id> kind=invalid action="skipped malformed recognized value"
  3. Add "tools": true to the capabilities object → provider loads, models selectable

Expected: tools defaults sensibly (or the requirement is documented), and any diagnostic names the actual missing field.

Screenshot and/or share link

n/a

Operating System

macOS (Darwin 25.6.0, arm64)

Terminal

Ghostty

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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