providers.json Settings Reference

Every key the schema accepts, generated from the schema itself. See providers.json for what the file is, where it lives, how these keys fit together, and worked examples of the configurations that come up most often.

Keys are listed in full, so a row says outright which provider reads it: providers.bedrock.aws.region, not a generic path you have to substitute a provider id into. The shared fields therefore repeat once per provider, which is what makes the table searchable. Paste a key from your providers.json into the browser’s find and it is here verbatim.

The only placeholders left are the keys you name yourself:

  • {name} — the name you give a custom entry under providers.custom.
  • {header} — a header name in customHeaders.
  • {model-id} — a model id in models.overrides.

[] marks an array element, as in models.custom[].id.

KeyTypeDefaultDescription
$schemastring"https://assistant.posit.co/schemas/providers.schema.json"Path or URL of the JSON Schema for this file. Editors use it for validation and autocomplete.
providersobjectProvider configuration, keyed by built-in provider id, plus the reserved `default` and `custom` keys.
providers.anthropicobjectConfiguration for the built-in anthropic provider.
providers.anthropic.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.anthropic.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.anthropic.customHeaders.{header}stringHeader value.
providers.anthropic.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.anthropic.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.anthropic.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.anthropic.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.anthropic.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.anthropic.endpoints.google-generativestringBase URL to use for this protocol.
providers.anthropic.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.anthropic.endpoints.openai-chatstringBase URL to use for this protocol.
providers.anthropic.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.anthropic.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.anthropic.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.anthropic.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.anthropic.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.anthropic.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.anthropic.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.anthropic.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.anthropic.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.anthropic.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.anthropic.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.anthropic.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.anthropic.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.anthropic.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.anthropic.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.anthropic.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.anthropic.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.anthropic.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.anthropic.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.anthropic.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.anthropic.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.anthropic.models.overrides.{model-id}object
providers.anthropic.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.anthropic.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.anthropic.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.anthropic.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.anthropic.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.anthropic.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.anthropic.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.anthropic.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.anthropic.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.anthropic.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.anthropic.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.anthropic.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.anthropic.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.anthropic.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.bedrockobjectConfiguration for the built-in bedrock provider.
providers.bedrock.awsobjectAWS connection settings for Bedrock. Credentials are not stored here.
providers.bedrock.aws.profilestringNamed profile from your AWS config and credentials files.
providers.bedrock.aws.regionstringAWS region to call, such as `us-east-1`.
providers.bedrock.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.bedrock.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.bedrock.customHeaders.{header}stringHeader value.
providers.bedrock.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.bedrock.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.bedrock.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.bedrock.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.bedrock.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.bedrock.endpoints.google-generativestringBase URL to use for this protocol.
providers.bedrock.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.bedrock.endpoints.openai-chatstringBase URL to use for this protocol.
providers.bedrock.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.bedrock.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.bedrock.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.bedrock.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.bedrock.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.bedrock.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.bedrock.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.bedrock.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.bedrock.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.bedrock.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.bedrock.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.bedrock.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.bedrock.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.bedrock.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.bedrock.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.bedrock.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.bedrock.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.bedrock.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.bedrock.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.bedrock.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.bedrock.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.bedrock.models.overrides.{model-id}object
providers.bedrock.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.bedrock.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.bedrock.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.bedrock.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.bedrock.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.bedrock.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.bedrock.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.bedrock.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.bedrock.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.bedrock.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.bedrock.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.bedrock.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.bedrock.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.bedrock.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.copilotobjectConfiguration for the built-in copilot provider.
providers.copilot.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.copilot.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.copilot.customHeaders.{header}stringHeader value.
providers.copilot.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.copilot.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.copilot.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.copilot.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.copilot.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.copilot.endpoints.google-generativestringBase URL to use for this protocol.
providers.copilot.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.copilot.endpoints.openai-chatstringBase URL to use for this protocol.
providers.copilot.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.copilot.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.copilot.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.copilot.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.copilot.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.copilot.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.copilot.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.copilot.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.copilot.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.copilot.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.copilot.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.copilot.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.copilot.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.copilot.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.copilot.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.copilot.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.copilot.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.copilot.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.copilot.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.copilot.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.copilot.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.copilot.models.overrides.{model-id}object
providers.copilot.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.copilot.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.copilot.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.copilot.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.copilot.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.copilot.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.copilot.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.copilot.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.copilot.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.copilot.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.copilot.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.copilot.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.copilot.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.copilot.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.customobjectProviders you declare yourself, keyed by a name of your choosing.
providers.custom.{name}object
providers.custom.{name}.awsobjectAWS connection settings for Bedrock. Credentials are not stored here.
providers.custom.{name}.aws.profilestringNamed profile from your AWS config and credentials files.
providers.custom.{name}.aws.regionstringAWS region to call, such as `us-east-1`.
providers.custom.{name}.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.custom.{name}.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.custom.{name}.customHeaders.{header}stringHeader value.
providers.custom.{name}.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.custom.{name}.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.custom.{name}.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.custom.{name}.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.custom.{name}.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.custom.{name}.endpoints.google-generativestringBase URL to use for this protocol.
providers.custom.{name}.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.custom.{name}.endpoints.openai-chatstringBase URL to use for this protocol.
providers.custom.{name}.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.custom.{name}.googleCloudobjectGoogle Cloud connection settings for Vertex AI.
providers.custom.{name}.googleCloud.locationstringGoogle Cloud region for Vertex AI, such as `us-central1`.
providers.custom.{name}.googleCloud.projectstringGoogle Cloud project id for Vertex AI.
providers.custom.{name}.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.custom.{name}.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.custom.{name}.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.custom.{name}.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.custom.{name}.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.custom.{name}.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.custom.{name}.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.custom.{name}.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.custom.{name}.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.custom.{name}.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.custom.{name}.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.custom.{name}.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.custom.{name}.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.custom.{name}.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.custom.{name}.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.custom.{name}.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.custom.{name}.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.custom.{name}.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.custom.{name}.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.custom.{name}.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.custom.{name}.models.overrides.{model-id}object
providers.custom.{name}.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.custom.{name}.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.custom.{name}.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.custom.{name}.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.custom.{name}.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.custom.{name}.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.custom.{name}.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.custom.{name}.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.custom.{name}.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.custom.{name}.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.custom.{name}.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.custom.{name}.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.custom.{name}.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.custom.{name}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.custom.{name}.snowflakeobjectSnowflake connection settings. Credentials are not stored here.
providers.custom.{name}.snowflake.accountstringSnowflake account identifier.
providers.custom.{name}.snowflake.connectionNamestringWhich connection from `connections.toml` to use. Ignored in Positron, which uses its own Snowflake sign-in.
providers.custom.{name}.snowflake.homestringDirectory holding `connections.toml`, the same thing `SNOWFLAKE_HOME` sets. Point this at a managed directory when your credentials are not in the default location.
providers.custom.{name}.snowflake.hoststringSnowflake host name. Set this when the account identifier alone does not resolve to the right host.
providers.custom.{name}.type"openai-compatible" | "anthropic" | "openai" | "gemini" | "aws" | "snowflake" | "google-vertex" | "ollama" | "lmstudio" | "deepseek" | "openrouter" | "ms-foundry" | "litellm" | "portkey" (required)Which provider client handles this entry.
providers.databricksobjectConfiguration for the built-in databricks provider.
providers.databricks.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.databricks.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.databricks.customHeaders.{header}stringHeader value.
providers.databricks.databricksobjectDatabricks workspace settings.
providers.databricks.databricks.hoststringDatabricks workspace host. This is not a chat base URL: the serving-endpoint URL is derived from it.
providers.databricks.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.databricks.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.databricks.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.databricks.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.databricks.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.databricks.endpoints.google-generativestringBase URL to use for this protocol.
providers.databricks.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.databricks.endpoints.openai-chatstringBase URL to use for this protocol.
providers.databricks.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.databricks.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.databricks.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.databricks.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.databricks.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.databricks.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.databricks.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.databricks.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.databricks.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.databricks.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.databricks.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.databricks.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.databricks.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.databricks.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.databricks.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.databricks.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.databricks.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.databricks.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.databricks.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.databricks.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.databricks.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.databricks.models.overrides.{model-id}object
providers.databricks.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.databricks.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.databricks.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.databricks.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.databricks.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.databricks.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.databricks.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.databricks.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.databricks.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.databricks.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.databricks.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.databricks.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.databricks.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.databricks.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.deepseekobjectConfiguration for the built-in deepseek provider.
providers.deepseek.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.deepseek.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.deepseek.customHeaders.{header}stringHeader value.
providers.deepseek.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.deepseek.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.deepseek.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.deepseek.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.deepseek.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.deepseek.endpoints.google-generativestringBase URL to use for this protocol.
providers.deepseek.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.deepseek.endpoints.openai-chatstringBase URL to use for this protocol.
providers.deepseek.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.deepseek.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.deepseek.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.deepseek.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.deepseek.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.deepseek.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.deepseek.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.deepseek.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.deepseek.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.deepseek.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.deepseek.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.deepseek.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.deepseek.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.deepseek.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.deepseek.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.deepseek.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.deepseek.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.deepseek.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.deepseek.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.deepseek.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.deepseek.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.deepseek.models.overrides.{model-id}object
providers.deepseek.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.deepseek.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.deepseek.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.deepseek.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.deepseek.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.deepseek.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.deepseek.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.deepseek.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.deepseek.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.deepseek.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.deepseek.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.deepseek.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.deepseek.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.deepseek.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.defaultobjectBaseline applied to every provider that does not set the same key itself.
providers.default.enabledbooleantrueDefault enablement for providers that do not set `enabled` themselves.
providers.geminiobjectConfiguration for the built-in gemini provider.
providers.gemini.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.gemini.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.gemini.customHeaders.{header}stringHeader value.
providers.gemini.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.gemini.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.gemini.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.gemini.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.gemini.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.gemini.endpoints.google-generativestringBase URL to use for this protocol.
providers.gemini.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.gemini.endpoints.openai-chatstringBase URL to use for this protocol.
providers.gemini.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.gemini.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.gemini.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.gemini.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.gemini.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.gemini.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.gemini.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.gemini.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.gemini.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.gemini.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.gemini.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.gemini.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.gemini.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.gemini.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.gemini.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.gemini.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.gemini.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.gemini.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.gemini.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.gemini.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.gemini.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.gemini.models.overrides.{model-id}object
providers.gemini.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.gemini.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.gemini.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.gemini.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.gemini.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.gemini.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.gemini.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.gemini.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.gemini.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.gemini.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.gemini.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.gemini.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.gemini.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.gemini.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.google-vertexobjectConfiguration for the built-in google-vertex provider.
providers.google-vertex.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.google-vertex.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.google-vertex.customHeaders.{header}stringHeader value.
providers.google-vertex.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.google-vertex.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.google-vertex.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.google-vertex.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.google-vertex.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.google-vertex.endpoints.google-generativestringBase URL to use for this protocol.
providers.google-vertex.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.google-vertex.endpoints.openai-chatstringBase URL to use for this protocol.
providers.google-vertex.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.google-vertex.googleCloudobjectGoogle Cloud connection settings for Vertex AI.
providers.google-vertex.googleCloud.locationstring"us-central1"Google Cloud region for Vertex AI, such as `us-central1`.
providers.google-vertex.googleCloud.projectstringGoogle Cloud project id for Vertex AI.
providers.google-vertex.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.google-vertex.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.google-vertex.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.google-vertex.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.google-vertex.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.google-vertex.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.google-vertex.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.google-vertex.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.google-vertex.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.google-vertex.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.google-vertex.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.google-vertex.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.google-vertex.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.google-vertex.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.google-vertex.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.google-vertex.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.google-vertex.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.google-vertex.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.google-vertex.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.google-vertex.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.google-vertex.models.overrides.{model-id}object
providers.google-vertex.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.google-vertex.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.google-vertex.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.google-vertex.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.google-vertex.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.google-vertex.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.google-vertex.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.google-vertex.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.google-vertex.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.google-vertex.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.google-vertex.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.google-vertex.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.google-vertex.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.google-vertex.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.litellmobjectConfiguration for the built-in litellm provider.
providers.litellm.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.litellm.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.litellm.customHeaders.{header}stringHeader value.
providers.litellm.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.litellm.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.litellm.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.litellm.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.litellm.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.litellm.endpoints.google-generativestringBase URL to use for this protocol.
providers.litellm.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.litellm.endpoints.openai-chatstringBase URL to use for this protocol.
providers.litellm.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.litellm.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.litellm.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.litellm.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.litellm.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.litellm.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.litellm.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.litellm.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.litellm.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.litellm.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.litellm.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.litellm.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.litellm.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.litellm.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.litellm.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.litellm.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.litellm.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.litellm.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.litellm.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.litellm.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.litellm.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.litellm.models.overrides.{model-id}object
providers.litellm.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.litellm.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.litellm.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.litellm.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.litellm.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.litellm.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.litellm.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.litellm.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.litellm.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.litellm.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.litellm.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.litellm.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.litellm.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.litellm.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.lmstudioobjectConfiguration for the built-in lmstudio provider.
providers.lmstudio.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.lmstudio.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.lmstudio.customHeaders.{header}stringHeader value.
providers.lmstudio.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.lmstudio.endpointstring"http://localhost:1234/v1"Endpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.lmstudio.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.lmstudio.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.lmstudio.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.lmstudio.endpoints.google-generativestringBase URL to use for this protocol.
providers.lmstudio.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.lmstudio.endpoints.openai-chatstringBase URL to use for this protocol.
providers.lmstudio.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.lmstudio.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.lmstudio.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.lmstudio.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.lmstudio.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.lmstudio.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.lmstudio.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.lmstudio.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.lmstudio.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.lmstudio.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.lmstudio.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.lmstudio.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.lmstudio.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.lmstudio.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.lmstudio.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.lmstudio.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.lmstudio.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.lmstudio.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.lmstudio.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.lmstudio.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.lmstudio.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.lmstudio.models.overrides.{model-id}object
providers.lmstudio.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.lmstudio.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.lmstudio.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.lmstudio.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.lmstudio.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.lmstudio.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.lmstudio.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.lmstudio.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.lmstudio.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.lmstudio.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.lmstudio.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.lmstudio.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.lmstudio.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.lmstudio.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.ms-foundryobjectConfiguration for the built-in ms-foundry provider.
providers.ms-foundry.azureobjectMicrosoft Entra ID connection settings for the built-in ms-foundry provider.
providers.ms-foundry.azure.authMode"apikey" | "entra""apikey"How to authenticate: `apikey` (default, back-compat) or `entra` for Microsoft Entra ID sign-in.
providers.ms-foundry.azure.scopestring"https://cognitiveservices.azure.com/.default"OAuth scope requested when acquiring a Microsoft Entra ID token.
providers.ms-foundry.azure.tenantIdstringMicrosoft Entra ID tenant to authenticate against. Uses the default tenant if unset.
providers.ms-foundry.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.ms-foundry.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.ms-foundry.customHeaders.{header}stringHeader value.
providers.ms-foundry.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.ms-foundry.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.ms-foundry.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.ms-foundry.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.ms-foundry.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.ms-foundry.endpoints.google-generativestringBase URL to use for this protocol.
providers.ms-foundry.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.ms-foundry.endpoints.openai-chatstringBase URL to use for this protocol.
providers.ms-foundry.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.ms-foundry.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.ms-foundry.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.ms-foundry.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.ms-foundry.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.ms-foundry.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.ms-foundry.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.ms-foundry.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.ms-foundry.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.ms-foundry.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.ms-foundry.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.ms-foundry.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.ms-foundry.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.ms-foundry.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.ms-foundry.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.ms-foundry.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.ms-foundry.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.ms-foundry.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.ms-foundry.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.ms-foundry.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.ms-foundry.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.ms-foundry.models.overrides.{model-id}object
providers.ms-foundry.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.ms-foundry.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.ms-foundry.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.ms-foundry.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.ms-foundry.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.ms-foundry.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.ms-foundry.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.ms-foundry.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.ms-foundry.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.ms-foundry.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.ms-foundry.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.ms-foundry.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.ms-foundry.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.ms-foundry.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.ollamaobjectConfiguration for the built-in ollama provider.
providers.ollama.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.ollama.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.ollama.customHeaders.{header}stringHeader value.
providers.ollama.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.ollama.endpointstring"http://localhost:11434"Endpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.ollama.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.ollama.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.ollama.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.ollama.endpoints.google-generativestringBase URL to use for this protocol.
providers.ollama.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.ollama.endpoints.openai-chatstringBase URL to use for this protocol.
providers.ollama.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.ollama.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.ollama.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.ollama.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.ollama.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.ollama.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.ollama.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.ollama.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.ollama.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.ollama.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.ollama.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.ollama.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.ollama.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.ollama.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.ollama.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.ollama.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.ollama.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.ollama.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.ollama.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.ollama.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.ollama.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.ollama.models.overrides.{model-id}object
providers.ollama.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.ollama.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.ollama.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.ollama.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.ollama.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.ollama.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.ollama.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.ollama.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.ollama.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.ollama.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.ollama.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.ollama.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.ollama.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.ollama.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.openaiobjectConfiguration for the built-in openai provider.
providers.openai-compatibleobjectConfiguration for the built-in openai-compatible provider.
providers.openai-compatible.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.openai-compatible.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.openai-compatible.customHeaders.{header}stringHeader value.
providers.openai-compatible.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.openai-compatible.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.openai-compatible.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.openai-compatible.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.openai-compatible.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.openai-compatible.endpoints.google-generativestringBase URL to use for this protocol.
providers.openai-compatible.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.openai-compatible.endpoints.openai-chatstringBase URL to use for this protocol.
providers.openai-compatible.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.openai-compatible.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.openai-compatible.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.openai-compatible.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.openai-compatible.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.openai-compatible.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.openai-compatible.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.openai-compatible.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.openai-compatible.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.openai-compatible.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.openai-compatible.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.openai-compatible.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.openai-compatible.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.openai-compatible.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.openai-compatible.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.openai-compatible.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.openai-compatible.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.openai-compatible.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.openai-compatible.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.openai-compatible.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.openai-compatible.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.openai-compatible.models.overrides.{model-id}object
providers.openai-compatible.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.openai-compatible.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.openai-compatible.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.openai-compatible.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.openai-compatible.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.openai-compatible.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.openai-compatible.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.openai-compatible.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.openai-compatible.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.openai-compatible.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.openai-compatible.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.openai-compatible.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.openai-compatible.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.openai-compatible.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.openai.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.openai.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.openai.customHeaders.{header}stringHeader value.
providers.openai.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.openai.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.openai.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.openai.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.openai.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.openai.endpoints.google-generativestringBase URL to use for this protocol.
providers.openai.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.openai.endpoints.openai-chatstringBase URL to use for this protocol.
providers.openai.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.openai.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.openai.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.openai.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.openai.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.openai.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.openai.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.openai.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.openai.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.openai.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.openai.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.openai.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.openai.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.openai.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.openai.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.openai.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.openai.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.openai.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.openai.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.openai.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.openai.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.openai.models.overrides.{model-id}object
providers.openai.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.openai.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.openai.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.openai.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.openai.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.openai.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.openai.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.openai.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.openai.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.openai.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.openai.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.openai.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.openai.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.openai.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.openrouterobjectConfiguration for the built-in openrouter provider.
providers.openrouter.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.openrouter.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.openrouter.customHeaders.{header}stringHeader value.
providers.openrouter.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.openrouter.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.openrouter.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.openrouter.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.openrouter.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.openrouter.endpoints.google-generativestringBase URL to use for this protocol.
providers.openrouter.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.openrouter.endpoints.openai-chatstringBase URL to use for this protocol.
providers.openrouter.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.openrouter.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.openrouter.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.openrouter.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.openrouter.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.openrouter.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.openrouter.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.openrouter.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.openrouter.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.openrouter.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.openrouter.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.openrouter.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.openrouter.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.openrouter.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.openrouter.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.openrouter.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.openrouter.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.openrouter.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.openrouter.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.openrouter.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.openrouter.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.openrouter.models.overrides.{model-id}object
providers.openrouter.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.openrouter.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.openrouter.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.openrouter.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.openrouter.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.openrouter.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.openrouter.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.openrouter.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.openrouter.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.openrouter.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.openrouter.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.openrouter.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.openrouter.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.openrouter.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.portkeyobjectConfiguration for the built-in portkey provider.
providers.portkey.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.portkey.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.portkey.customHeaders.{header}stringHeader value.
providers.portkey.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.portkey.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.portkey.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.portkey.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.portkey.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.portkey.endpoints.google-generativestringBase URL to use for this protocol.
providers.portkey.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.portkey.endpoints.openai-chatstringBase URL to use for this protocol.
providers.portkey.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.portkey.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.portkey.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.portkey.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.portkey.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.portkey.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.portkey.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.portkey.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.portkey.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.portkey.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.portkey.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.portkey.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.portkey.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.portkey.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.portkey.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.portkey.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.portkey.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.portkey.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.portkey.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.portkey.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.portkey.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.portkey.models.overrides.{model-id}object
providers.portkey.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.portkey.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.portkey.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.portkey.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.portkey.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.portkey.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.portkey.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.portkey.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.portkey.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.portkey.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.portkey.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.portkey.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.portkey.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.portkey.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.posit-connectobjectConfiguration for the built-in posit-connect provider.
providers.posit-connect.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.posit-connect.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.posit-connect.customHeaders.{header}stringHeader value.
providers.posit-connect.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.posit-connect.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.posit-connect.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.posit-connect.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.posit-connect.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.posit-connect.endpoints.google-generativestringBase URL to use for this protocol.
providers.posit-connect.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.posit-connect.endpoints.openai-chatstringBase URL to use for this protocol.
providers.posit-connect.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.posit-connect.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.posit-connect.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.posit-connect.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.posit-connect.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.posit-connect.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.posit-connect.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.posit-connect.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.posit-connect.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.posit-connect.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.posit-connect.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.posit-connect.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.posit-connect.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.posit-connect.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.posit-connect.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.posit-connect.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.posit-connect.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.posit-connect.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.posit-connect.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.posit-connect.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.posit-connect.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.posit-connect.models.overrides.{model-id}object
providers.posit-connect.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.posit-connect.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.posit-connect.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.posit-connect.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.posit-connect.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.posit-connect.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.posit-connect.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.posit-connect.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.posit-connect.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.posit-connect.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.posit-connect.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.posit-connect.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.posit-connect.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.posit-connect.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.positaiobjectConfiguration for the built-in positai provider.
providers.positai.baseUrlstring"https://gateway.posit.ai"Base URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.positai.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.positai.customHeaders.{header}stringHeader value.
providers.positai.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.positai.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.positai.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.positai.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.positai.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.positai.endpoints.google-generativestringBase URL to use for this protocol.
providers.positai.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.positai.endpoints.openai-chatstringBase URL to use for this protocol.
providers.positai.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.positai.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.positai.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.positai.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.positai.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.positai.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.positai.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.positai.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.positai.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.positai.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.positai.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.positai.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.positai.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.positai.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.positai.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.positai.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.positai.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.positai.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.positai.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.positai.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.positai.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.positai.models.overrides.{model-id}object
providers.positai.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.positai.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.positai.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.positai.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.positai.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.positai.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.positai.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.positai.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.positai.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.positai.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.positai.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.positai.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.positai.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.positai.positaiLoginobjectPosit sign-in settings for the built-in positai provider.
providers.positai.positaiLogin.clientIdstring"rstudio-ide"OAuth client id used for the device-authorization sign-in flow.
providers.positai.positaiLogin.hoststring"login.posit.cloud"Posit host to sign in against. The device-authorization and token URLs are derived from it.
providers.positai.positaiLogin.scopestring"prism"Space-separated OAuth scopes requested at sign-in.
providers.positai.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.snowflake-cortexobjectConfiguration for the built-in snowflake-cortex provider.
providers.snowflake-cortex.baseUrlstringBase URL for the provider's API. Some providers need a version segment: `https://api.anthropic.com/v1` for Anthropic, `https://api.openai.com/v1` for OpenAI, and `https://generativelanguage.googleapis.com/v1beta` for Gemini. A bare host will fail for those.
providers.snowflake-cortex.customHeadersobjectExtra HTTP headers sent with each request to this provider, for proxy tenancy or routing markers, on providers whose transport supports custom headers. Do not put credentials or SDK-managed headers such as `Authorization`, `x-api-key`, or `anthropic-version` here.
providers.snowflake-cortex.customHeaders.{header}stringHeader value.
providers.snowflake-cortex.enabledbooleantrueWhether this provider is available. Set to false to hide it from the model picker.
providers.snowflake-cortex.endpointstringEndpoint URL for a self-hosted provider such as Ollama or LM Studio, for example `http://localhost:11434`.
providers.snowflake-cortex.endpointsobjectBase URL overrides for one protocol at a time, keyed by protocol. Use this when every model on a protocol shares a path that the provider's other models do not.
providers.snowflake-cortex.endpoints.anthropic-messagesstringBase URL to use for this protocol.
providers.snowflake-cortex.endpoints.bedrock-conversestringBase URL to use for this protocol.
providers.snowflake-cortex.endpoints.google-generativestringBase URL to use for this protocol.
providers.snowflake-cortex.endpoints.mlflow-responsesstringBase URL to use for this protocol.
providers.snowflake-cortex.endpoints.openai-chatstringBase URL to use for this protocol.
providers.snowflake-cortex.endpoints.openai-responsesstringBase URL to use for this protocol.
providers.snowflake-cortex.modelsobjectWhich models this provider offers, and how their metadata is filled in.
providers.snowflake-cortex.models.allowstring[]Model ids to offer. When this list is non-empty it is exclusive: no other model from this provider is offered.
providers.snowflake-cortex.models.customobject[]Models to declare yourself, for models the provider does not return from discovery.
providers.snowflake-cortex.models.custom[].baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.snowflake-cortex.models.custom[].familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.snowflake-cortex.models.custom[].idstring (required, non-empty)Model id sent to the provider's API.
providers.snowflake-cortex.models.custom[].maxContextLengthinteger (required, positive)Total context window, in tokens.
providers.snowflake-cortex.models.custom[].maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.snowflake-cortex.models.custom[].maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.snowflake-cortex.models.custom[].namestring (required, non-empty)Display name shown in the model picker.
providers.snowflake-cortex.models.custom[].protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.snowflake-cortex.models.custom[].supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.snowflake-cortex.models.custom[].supportsImagesboolean (required)Whether the model accepts images as input.
providers.snowflake-cortex.models.custom[].supportsToolResultImagesboolean (required)Whether the model accepts images returned by a tool result.
providers.snowflake-cortex.models.custom[].supportsToolsboolean (required)Whether the model can call tools.
providers.snowflake-cortex.models.custom[].supportsWebSearchboolean (required)Whether the model supports the provider's own web search.
providers.snowflake-cortex.models.custom[].thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.snowflake-cortex.models.denystring[]Model ids to hide. Applied after `allow`, so a model listed in both is hidden.
providers.snowflake-cortex.models.discovery"auto" | "off""auto"Whether to ask the provider for its model list. `auto` discovers models from the provider; `off` offers only the models declared under `models.custom`.
providers.snowflake-cortex.models.overridesobjectMetadata patches for models the provider already returns, keyed by model id. Only the fields you set are changed.
providers.snowflake-cortex.models.overrides.{model-id}object
providers.snowflake-cortex.models.overrides.{model-id}.baseUrlstringBase URL for this model only, overriding the provider's base URL.
providers.snowflake-cortex.models.overrides.{model-id}.familystringModel family, used for grouping models and for selecting family-specific system prompt content.
providers.snowflake-cortex.models.overrides.{model-id}.maxContextLengthinteger (positive)Total context window, in tokens.
providers.snowflake-cortex.models.overrides.{model-id}.maxInputTokensinteger (positive)Maximum number of input tokens accepted in one request.
providers.snowflake-cortex.models.overrides.{model-id}.maxOutputTokensinteger (positive)Maximum number of tokens the model may generate in one response.
providers.snowflake-cortex.models.overrides.{model-id}.namestringDisplay name shown in the model picker.
providers.snowflake-cortex.models.overrides.{model-id}.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this model, overriding the provider's protocol.
providers.snowflake-cortex.models.overrides.{model-id}.supportedInputMediaTypesstring[]Media types the model accepts as input, such as `image/png`.
providers.snowflake-cortex.models.overrides.{model-id}.supportsImagesbooleanWhether the model accepts images as input.
providers.snowflake-cortex.models.overrides.{model-id}.supportsToolResultImagesbooleanWhether the model accepts images returned by a tool result.
providers.snowflake-cortex.models.overrides.{model-id}.supportsToolsbooleanWhether the model can call tools.
providers.snowflake-cortex.models.overrides.{model-id}.supportsWebSearchbooleanWhether the model supports the provider's own web search.
providers.snowflake-cortex.models.overrides.{model-id}.thinkingEffortLevelsstring[]Thinking effort levels this model accepts. The set varies by model, for example `off`, `low`, `medium`, `high`, `xhigh`.
providers.snowflake-cortex.protocol"anthropic-messages" | "openai-chat" | "openai-responses" | "mlflow-responses" | "bedrock-converse" | "google-generative"API wire protocol for this provider. Set this only when the provider does not use its default protocol.
providers.snowflake-cortex.snowflakeobjectSnowflake connection settings. Credentials are not stored here.
providers.snowflake-cortex.snowflake.accountstringSnowflake account identifier.
providers.snowflake-cortex.snowflake.connectionNamestringWhich connection from `connections.toml` to use. Ignored in Positron, which uses its own Snowflake sign-in.
providers.snowflake-cortex.snowflake.homestringDirectory holding `connections.toml`, the same thing `SNOWFLAKE_HOME` sets. Point this at a managed directory when your credentials are not in the default location.
providers.snowflake-cortex.snowflake.hoststringSnowflake host name. Set this when the account identifier alone does not resolve to the right host.
version1Version of this config format. Always 1.