Snowflake App Runtime

Snowflake App Runtime lets you go from an idea to a live, deployed web application in minutes. No infrastructure to provision, no credentials to configure, no Docker expertise required. Your app runs inside Snowflake, right next to your data, with direct access to your tables, warehouses, and security model. Describe what you want to build in Cortex Code CLI or Cortex Code Desktop, Snowflake’s AI coding assistants. They scaffold the project, wire up your Snowflake data, and deploy to a live URL.

Why build on Snowflake?

  • Your data is already here. Query Snowflake tables directly from your application code. No API layers, no ETL, no data egress.
  • Enterprise-ready by default. SSO, role-based access control, audit logging, and governance are inherited from your Snowflake account. You don’t configure them; they’re already on.
  • One-command deploy. One command takes your source code to a live, authenticated URL. You don’t manage Dockerfiles, container registries, or CI/CD pipelines.
  • Secure by design. Your app runs inside Snowflake’s security perimeter. End users authenticate through Snowflake’s existing identity provider. Queries can run as the calling user for per-user access control, with no auth system to build. No secrets to manage.

Quick start with Cortex Code

The fastest way to build and deploy is with Cortex Code CLI or Cortex Code Desktop. Both bundle the snowflake-apps skill. Invoke it with $snowflake-apps, use the Build an app starter card in Desktop, or describe your app in chat:

> $snowflake-apps Build me a warehouse monitor that shows all my
  warehouses with their current state and credit usage today

Cortex Code generates a Next.js project, wires up Snowflake data access, tests locally, and deploys with snow app deploy. Your app is live in minutes.

See Getting started with Snowflake App Runtime for environment setup, the Snowflake CLI-only path, and connecting apps to Snowflake data.

Quick start with the CLI

If you already have application code, initialize and deploy:

snow app setup
snow app deploy

snow app setup generates a snowflake.yml project definition using defaults set by your account administrator. snow app deploy uploads your source, builds it remotely, and returns a live URL. See Getting started with Snowflake App Runtime for the full walkthrough.

How this relates to Streamlit

Streamlit in Snowflake and Snowflake App Runtime are both ways to build applications directly on your data. They’re designed for different use cases:

  • Streamlit: Python-first, opinionated, guardrailed. The right choice for dashboards, data exploration, and analyst self-serve tools. Fast path to a polished data app without writing frontend code.
  • Snowflake App Runtime: Full power of the web. The right choice when you need custom UI, multi-step workflows, rich interactions, or the broader JavaScript/TypeScript ecosystem (React, Next.js).

Choose based on what you’re building. Both run inside Snowflake’s security perimeter, both inherit your RBAC, and both give you direct access to your data without building API layers. Both are part of Snowflake Apps: deployed apps surface in the same catalog regardless of how they were built.

Under the hood

When you deploy, Snowflake manages the full lifecycle:

  1. Source upload: your files are staged in Snowflake.
  2. Remote build: Snowflake runs the install and build commands from your optional app.yml manifest when you provide one, or from auto-detected project layout when you do not, producing an immutable versioned package.
  3. Package storage: the built artifact is stored in an artifact repository (TYPE = APPLICATION).
  4. Service creation: Snowflake starts your app as a running service with a public endpoint.

On subsequent deploys, a new version is built and the running service upgrades in place. No URL changes, no downtime.

Infrastructure setup

Your Snowflake account administrator sets up the required infrastructure (database, schema, compute, and networking) through Snowsight at /settings/account/apps. Once setup is complete, developers can deploy without additional configuration.

What’s supported

During public preview, Snowflake App Runtime supports Node.js applications (with a focus on Next.js). The CLI command is snow app deploy.

Developer guides

GuideDescription
Getting started with Snowflake App RuntimeEnd-to-end walkthrough: describe, build, deploy, open.
Cortex Code CLIInstall and connect; use $snowflake-apps or natural language in chat.
snowflake-appssnowflake-apps bundled skill (CLI and Desktop) for scaffolding and deploying Snowflake App Runtime apps.
Building appsBuild and deploy with Cortex Code Desktop (snowflake-apps skill, starter card, live preview, Apps view).
Onboarding and authenticationInstall Cortex Code Desktop and connect to your Snowflake account.
Snowflake Apps SQL commandsSQL reference for artifact repositories, Application Services, and log retrieval.
Optional app.yml manifest for Snowflake App RuntimeOptional app.yml manifest describing how your app is built.
Snowflake Apps CLI commandsCLI reference for snow app setup, snow app deploy, and related commands.
Snowflake App Runtime privilegesArtifact repository and Application Service privileges.
Access control for Snowflake App RuntimeDelegate operations, monitoring, and view access using RBAC.
Observability for Snowflake App RuntimeInspect service status and read container logs.
Snowflake App Runtime limitationsKnown limitations during public preview.