diff --git a/packages/coding-agent/src/config/settings-schema.ts b/packages/coding-agent/src/config/settings-schema.ts index 262c7db47..f0eeea3ab 100644 --- a/packages/coding-agent/src/config/settings-schema.ts +++ b/packages/coding-agent/src/config/settings-schema.ts @@ -1133,6 +1133,18 @@ export const SETTINGS_SCHEMA = { }, }, + "display.showProvider": { + type: "boolean", + default: true, + ui: { + tab: "appearance", + group: "Display", + label: "Show Provider in Footer", + description: + "Prefix the active model in the footer with its provider (e.g. `opencode-go-3/deepseek-v4-flash`). Disambiguate which provider is serving a model when several are configured.", + }, + }, + "display.cacheMissMarker": { type: "boolean", default: false, diff --git a/packages/coding-agent/src/modes/components/footer.ts b/packages/coding-agent/src/modes/components/footer.ts index 4e3bd21d5..ef1a339d9 100644 --- a/packages/coding-agent/src/modes/components/footer.ts +++ b/packages/coding-agent/src/modes/components/footer.ts @@ -194,7 +194,12 @@ export class FooterComponent implements Component { let statsLeft = statsParts.join(" "); // Add model name on the right side, plus thinking level if model supports it - const modelName = state.model?.id || "no-model"; + // The `display.showProvider` flag prefixes the active provider when several + // providers serve the same model id (e.g. `opencode-go-3/deepseek-v4-flash` + // vs `deepseek/deepseek-v4-flash`). + const showProvider = settings.get("display.showProvider"); + const providerPrefix = showProvider && state.model?.provider ? `${state.model.provider}/` : ""; + const modelName = `${providerPrefix}${state.model?.id || "no-model"}`; // Add thinking level hint when the current model advertises supported efforts let rightSide = modelName;