-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
models.mode: "replace" does not filter openclaw models list output #94705
Copy link
Copy link
Open
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Priority
None yet
Description
Setting
models.mode: "replace"with a restrictedmodels.providerslist does not filter the output ofopenclaw models list. Built-in provider catalogs (openai, groq, opencode-go, zai, cerebras, anthropic, etc.) continue to appear in the model list despite not being in the configured providers.Steps to Reproduce
models.modeto"replace"in config:{ "models": { "mode": "replace", "providers": ["deepseek", "xai"] } }plugins.allowto only the desired providers:{ "plugins": { "allow": ["deepseek", "xai", "infra"] } }agents.defaults.modelsas an explicit allowlist:{ "agents": { "defaults": { "models": { "deepseek/deepseek-v4-pro": true, "deepseek/deepseek-v4-flash": true, "xai/grok-4.3": true } } } }.envandgateway.systemd.envfor unwanted providersopenclaw models listExpected Behavior
openclaw models listshould only show models from configured providers (deepseek + xai). Thereplacemode documentation suggests it replaces the built-in catalog with only the configured providers.Actual Behavior
openclaw models liststill shows 40+ models from 6 providers including openai, groq, opencode-go, zai (plus deepseek and xai).Workaround / Observations
agents.defaults.modelsallowlist does work at runtime — trying to switch to a non-allowlisted model correctly returns "Model is not allowed"openclaw models listoutput doesn't reflect what the agent can actually useEnvironment
openclaw.json