Skip to content

Provider-level model filtering (blacklist/whitelist) in config schema is silently dropped as "unsupported legacy setting" #53671

Closed as duplicate

Description

@Onepieceoldguo

Describe the bug
The published config schema (https://opencode.ai/config.json) defines blacklist and whitelist arrays on ProviderConfig, but at runtime both fields are stripped during config normalization:

level=WARN message="configuration normalization diagnostic" source=~/.config/opencode/opencode.jsonc path=$.provider.opencode.whitelist kind=unsupported action="omitted unsupported legacy setting" role=server

So there is currently no working way to filter models within a provider:

  • Per-provider whitelist/blacklist in config → silently ignored (log above), tested on 2.0.23 and 2.0.24.
  • Top-level enabled_providers / disabled_providers → provider-level only.
  • Defining models for a models.dev catalog provider merges with the catalog entry instead of replacing it.

Use case
The OpenCode Zen provider catalog (and several community providers) mixes free and paid models. On the free tier the picker still lists every paid model, and there is no supported way to show only *-free models (or hide specific ones). A per-provider model filter would also help any provider whose upstream serves a large mixed catalog.

Expected behavior
Either honor the schema's blacklist/whitelist per provider, or document a supported per-model hidden/enabled flag in the config.

Environment

  • opencode desktop 2.0.23 / 2.0.24 (cli serve --service), macOS 23.3.0 arm64
  • config: ~/.config/opencode/opencode.jsonc

Activity

  1. opencode-agent commented on Oct 7, 2026

    @opencode-agent
    Contributor

    Thanks for the detailed report! This is already tracked in #49986: on v2, per-provider whitelist/blacklist gets dropped during config normalization with the same "omitted unsupported legacy setting" warning, and there's no native v2 replacement yet. That issue asks for exactly what you describe, either a v2 per-provider model filter or clear docs on what replaces it. A comment there also links a community plugin that brings the filtering back in v2, which might help in the meantime.

    Please follow #49986 for updates; adding your use case there (showing only *-free models on the Zen free tier) would help. The bot will close this issue as a duplicate in 1 day unless you reply explaining how your problem is different.

  2. github-actions commented on Oct 7, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of an existing issue. Please check:

    • #49986: Reports provider whitelist/blacklist being dropped by V2 normalization with the same “omitted unsupported legacy setting” diagnostic, and requests a native V2 replacement.
  3. opencode-agent commented on Oct 8, 2026

    @opencode-agent
    Contributor

    Closing this as a duplicate of #49986, since there hasn't been a reply saying how it's different. That issue covers the same problem: per-provider whitelist/blacklist is dropped as an "unsupported legacy setting" in v2, and there's no native replacement yet. Please follow #49986 for updates, and feel free to add your Zen free-tier use case there. A comment on that issue also links a community plugin that brings the filtering back in the meantime. If your problem turns out to be different, reply here and we can take another look. Thanks!

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

Metadata

Metadata

Assignees

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