# Custom Provider Configuration

> Tier: Enterprise Exclusive

Use custom provider configuration to enforce organization-wide AI provider settings in Enterprise, overriding any local configuration set by members.

> [!NOTE]
> Support for Enterprise features in Raycast for Windows has not yet been added. Contact us if you require these features in your organization.

Connect Raycast directly with any OpenAI API compatible provider by uploading a custom `providers.yaml` file to configure organization-wide AI provider settings. When configured, this file overrides any local provider file set by members.

**When configured:**
- Your custom providers and models become available to every organization member
- Members cannot add their own local `providers.yaml`, and any existing local file is ignored
- Members can still use models from any provider enabled in the [AI Provider Allow-List](https://manual.raycast.com/enterprise/ai-provider-allow-list)
- The uploaded configuration displays version, checksum, and last updated timestamp for auditing
- Managers can upload a new file at any time to replace the existing configuration

> [!WARNING]
> Custom Provider Configuration does not disable Raycast's built-in AI providers.
> To restrict members to your custom providers only, uncheck every provider in the [AI Provider Allow-List](https://manual.raycast.com/enterprise/ai-provider-allow-list).

## Configure Custom Provider

1. [Download](https://fz1sd71lwhbqy6sh.public.blob.vercel-storage.com/raycast/files/v1/ai-providers-template.yaml) or copy the template `.yaml` file below
  ```yaml
  providers:
    - id: openai
      name: OpenAI
      base_url: https://api.openai.com/v1
      # Specify at least one api key if authentication is required.
      # Optional if authentication is not required or is provided elsewhere.
      # If individual models require separate api keys, then specify a separate `key` for each model's `provider`
      api_keys:
        openai: OPENAI_API_KEY
      # Optional additional parameters sent to the `/chat/completions` endpoint
      additional_parameters:
        return_images: true
        web_search_options:
          search_context_size: medium
      # Specify all models to use with the current provider
      models:
        - id: gpt-4o # `id` must match the identifier used by the provider
          name: GPT-4o # name visible in Raycast
          provider: openai # Only required if mapping to a specific api key
          description: OpenAI GPT-4o model for general-purpose queries # optional
          context: 200000 # refer to provider's API documentation
          # Optional abilities - all child properties are also optional.
          # If you specify abilities incorrectly the model may fail to work as expected in Raycast AI.
          # Refer to provider's API documentation for model abilities.
          abilities:
            temperature:
              supported: true
            vision:
              supported: true
            system_message:
              supported: true
            tools:
              supported: false
            reasoning_effort:
              supported: false
        - id: gpt-4o-mini
          name: "GPT-4o-mini"
          context: 200000
          provider: openai # matches "openai" in api_keys
          abilities:
            temperature:
              supported: true
            vision:
              supported: true
            system_message:
              supported: true
            tools:
              supported: true
    # provider with multiple api keys
    - id: my_provider
      name: My Provider
      base_url: http://localhost:4000
      api_keys:
        perplexity: PERPLEXITY_API_KEY
        anthropic: ANTHROPIC_API_KEY
      models:
        - id: sonar
          name: "Sonar"
          context: 128000
          provider: perplexity # matches "perplexity" in api_keys
          abilities:
            temperature:
              supported: true
            vision:
              supported: true
            system_message:
              supported: true
            tools:
              supported: true
        - id: claude-sonnet-4
          name: "Claude Sonnet 4"
          context: 200000
          provider: anthropic # matches "anthropic" in api_keys
          abilities:
            temperature:
              supported: true
            vision:
              supported: true
            system_message:
              supported: true
            tools:
              supported: true
    - id: litellm
      name: LiteLLM
      base_url: http://localhost:4000
      # No `api_keys` - authentication is provided by the LiteLLM config
      models:
        - id: anthropic/claude-sonnet-4-20250514
          name: "Claude Sonnet 4"
          context: 200000
          abilities:
            temperature:
              supported: true
            vision:
              supported: true
            system_message:
              supported: true
            tools:
              supported: true
  ```
  - Replace the providers `id`, `name`, `base_url`, and `api_key` values with your own
  - For each provider, specify a list of models along with their model abilities
2. In [Raycast Account Settings](https://www.raycast.com/settings/account), navigate to **Organization → AI Control Center**
3. Below Custom Provider Configuration, click **Choose File** and select your `.yaml` file

![Custom Provider Setting Not Configured](https://fz1sd71lwhbqy6sh.public.blob.vercel-storage.com/raycast/images/enterprise/custom-providers-not-configured.png)

4. Click **Upload Configuration** below the banner showing your selected file name and size

![Custom Provider Setting File Selected](https://fz1sd71lwhbqy6sh.public.blob.vercel-storage.com/raycast/images/enterprise/custom-providers-file-added.png)

5. A message reading "Provider configuration uploaded successfully" will appear, confirming the upload

![Custom Provider Setting File Uploaded](https://fz1sd71lwhbqy6sh.public.blob.vercel-storage.com/raycast/images/enterprise/custom-providers-file-uploaded.png)

## Storage and Security

- Stored privately and encrypted at rest and in transit
- Never publicly accessible, only reachable through authenticated Raycast APIs
- Only Managers can upload, replace, or remove it
- Validated and size-limited on upload


---

## Need Help?

Contact Raycast Support if you have any questions or would like help with Custom Provider Configuration. Use the **Send Feedback** command directly in Raycast to report bugs and billing issues, log feature requests, or any other queries you would like to speak to us about.

You can view all Raycast Support contact options at https://manual.raycast.com/contact-support
