Custom Providers
Custom Providers let you connect any compatible provider to Raycast and bring your own models. The models you define appear in the model picker alongside Raycast AI models, ready to use across AI features. This is the most flexible way to bring outside models into Raycast, covering aggregators, cross-vendor gateways, and self-hosted proxies alike.

Custom provider requests are routed directly from your device to the provider's servers, bypassing Raycast entirely. Your API keys stay in the file on your device, and you pay the provider's standard rates for messages.
Get Started
- Open Settings → AI and scroll down to the Custom Providers section.
- Click Reveal Providers Config. Raycast opens the config folder and places a
providers.template.yamlfile inside it, documenting the file format. - Copy the template to a file named
providers.yamlin the same folder, then edit it with your providers and models. - Save the file. Raycast watches it for changes, so your providers and their model counts appear in the Custom Providers section right away, with no restart needed.

The file lives at ~/.config/raycast/ai/providers.yaml inside your user folder on both macOS and Windows.
If Raycast can't read your file, an Invalid providers.yaml badge appears next to Providers Config in Settings. Hover over the badge to see exactly what went wrong. Your previously loaded models keep working while you fix the file.
Configuration Format
Each entry in the providers list needs an id, a name, an OpenAI API compatible base_url, and a list of models. Here's a trimmed example connecting a provider with one model:
providers:
- id: my_provider
name: My Provider
base_url: https://api.example.com/v1
api_keys:
my_provider: YOUR_API_KEY
models:
- id: my-model-id
name: My Model
provider: my_provider
description: A short description shown in Raycast
context: 200000
abilities:
temperature:
supported: true
vision:
supported: true
system_message:
supported: true
tools:
supported: true
reasoning_effort:
supported: falseProvider Fields
| Field | Required | Description |
|---|---|---|
id | Yes | Unique identifier for the provider entry |
name | Yes | Provider name shown in Raycast |
base_url | Yes | OpenAI API compatible endpoint, without the /chat/completions suffix |
api_keys | No | Map of key aliases to API keys, omit for providers that don't require authentication |
additional_parameters | No | Extra fields added to every /chat/completions request |
include_user_email | No | Set to true to send your signed-in Raycast email as an X-User-Email header, useful for per-user attribution on a shared gateway |
models | Yes | List of models to register, providers without any valid models are skipped |
Model Fields
| Field | Required | Description |
|---|---|---|
id | Yes | Model identifier, must match the id the provider's API expects |
name | Yes | Model name shown in Raycast |
provider | No | Selects which alias in api_keys to use, defaults to the first key |
description | No | Short description shown in Raycast |
context | No | Context window size in tokens, refer to the provider's documentation |
abilities | No | Capability flags for the model, see below |
Abilities
Each ability is optional and takes a supported: true or supported: false value. When omitted, Raycast assumes system messages and temperature are supported, and tool use and vision are not. Declaring an ability the model doesn't actually support can make requests fail.
| Ability | Enables |
|---|---|
temperature | Sending a temperature value with requests |
vision | Image attachments in prompts |
system_message | Sending a system message |
tools | Tool use, required for AI Extensions |
reasoning_effort | Reasoning effort control for reasoning models |
The providers.template.yaml file installed next to your config documents the same format with complete annotated examples.
The OpenAI API is not a formal standard, so we can't guarantee that every provider works correctly with Raycast AI. Refer to your provider's API documentation for model identifiers and capabilities.
Examples
Cross-vendor gateways such as Vercel AI Gateway or Cloudflare AI Gateway put models from every major lab behind a single endpoint and a single key, with usage tracking and spend controls in one dashboard:
providers:
- id: vercel_ai_gateway
name: Vercel AI Gateway
base_url: https://ai-gateway.vercel.sh/v1
api_keys:
vercel: VERCEL_AI_GATEWAY_KEY
models:
- id: anthropic/claude-fable-5.1
name: "Claude Fable 5.1"
context: 1000000
abilities:
temperature:
supported: true
vision:
supported: true
system_message:
supported: true
tools:
supported: true
reasoning_effort:
supported: trueUsing Custom Models
Custom provider models show up in the model picker grouped under the provider's name you set in the file. Pick them anywhere you'd pick a Raycast AI model, including Quick AI, AI Chat, and AI Commands. Since Raycast has no benchmark data for custom models, they don't show speed or intelligence scores in the model settings.
If you only want models from OpenRouter, adding an OpenRouter API key via Bring Your Own Keys unlocks its full catalog automatically. If you run local models with Ollama, Raycast supports this natively with Local Models and detects your models automatically for you.