Skip to main content
Snowflake Cortex provides access to industry-leading large language models (LLMs) hosted directly within your Snowflake infrastructure. By connecting Cortex to Omni, you can power AI features without your data ever leaving the Snowflake security boundary. Because the LLMs are hosted within Snowflake, your metadata and query context remain governed by Snowflake’s existing security and compliance framework. Omni authenticates to Cortex with either a Snowflake key pair (recommended) or a Programmatic Access Token (PAT). A key pair doesn’t expire and, unless your Snowflake account is already restricted by a network policy, doesn’t require one.

Limitations

Currently, only Claude LLMs are supported for this integration. The Snowflake Cortex provider in Omni’s LLM settings lists the supported LLMs.

Requirements

To follow the steps in this guide, you’ll need:
  • Organization Admin permissions in Omni
  • In Snowflake, permissions that allow you to:
    • Grant roles to database users
    • Manage network policies. Required only needed for a PAT, or if your account is already restricted by a network policy.
    • Enable cross-region inference (for Claude model availability)
    • Authenticate with one of the following:
      • A Snowflake key pair (recommended). Omni can generate the key pair for you, or you can provide your own RSA key pair.
      • A Programmatic Access Token (PAT). This token serves as the Programmatic access token in your Omni configuration. See the Snowflake PAT documentation for how to create one.
      Snowflake is phasing out single-factor password authentication by October 2026. Use a key pair or a PAT for your Cortex API configuration to avoid future service interruptions.

Setting up Snowflake

Complete the following setup within your Snowflake instance before configuring Cortex in Omni.
1

Grant Cortex access

The Snowflake role used for your Omni connection must have the CORTEX_USER database role. Run the following to grant this role if the Omni user doesn’t currently have it:
2

Enable cross-region support

To ensure model availability (particularly for Claude models), enable cross-region inference. This allows Snowflake to route requests to regions where specific models are hosted:
3

Configure network policies

This section is required if either of the following are applicable:
  1. You’re authenticating with a PAT
  2. Your account is already restricted by a network policy
To permit the API traffic, allow Omni’s outbound IP addresses in your network policy. You can find these IPs on the Connection setup page in Omni, or in the IP Allowlist card on the Cortex provider settings page (LLM settings).After you retrieve Omni’s IP addresses, run the following, replacing <omni_ips> with the complete list of Omni’s IP addresses:

Enabling Snowflake Cortex as a provider

1
In Omni, navigate to AI Hub > General and click the LLM settings tab.
2
In the Providers section, click the Your API keys tab.
3
Click Snowflake Cortex to open its settings.
4
Select the tab for your authentication method to view instructions:
5
Click Save and approve.
6
To run AI features on Snowflake Cortex by default, select one of the models as the organization default.
By default, Omni approves all available LLMs once a provider is successfully configured, which means users can select the LLMs in the chat picker. Use the LLM section to revoke specific LLMs, mark an LLM as test only, and add useful descriptions.

Disabling Snowflake Cortex as a provider

In the Your API keys tab, use the toggle next to Snowflake Cortex to disable it as a provider. After Omni saves the changes, a Delete saved key option will display. Check this option and click Save to permanently delete the key. If you decide to re-enable Snowflake Cortex later, you’ll need to add a new API key.

Troubleshooting

  • Insufficient privileges: Ensure the role associated with your PAT or key pair has been granted the SNOWFLAKE.CORTEX_USER database role.
  • Region errors: If you receive errors regarding model availability, verify that CORTEX_ENABLED_CROSS_REGION is set to 'ANY_REGION'.
  • Network blocks: Double-check that all Omni egress IPs are included in your Snowflake Network Policy’s ALLOWED_IP_LIST.
  • AI features fail after saving a key pair: After you save a new or generated key pair, every chat and AI feature that uses Cortex fails until the matching public key is registered in Snowflake as RSA_PUBLIC_KEY (or RSA_PUBLIC_KEY_2, if that slot is already in use).
  • Chat shows a specific rejection reason: A rejected request now names the specific reason in the chat error (for example, a missing network policy or role grant) instead of a generic failure. Use that reason to identify which setup step to revisit.