W Thaw Studio free & open source
Feature reference

Every feature, in one place.

Thaw Studio is the result of years of daily Snowflake work distilled into a free, open-source desktop app. Below are the highlights — categorised, unembellished. The complete, exhaustive catalogue lives in FEATURES.md on GitHub.

A Monaco editor that knows Snowflake's dialect.

Core editing

Fast, familiar, keyboard-first

Multi-tab, multi-cursor, split view, code folding, zoom, comment toggle — all the primitives you'd expect from a first-class editor.

  • Monaco-based editor with SQL syntax highlighting and rich keyboard shortcuts
  • Multi-tab editing — each tab remembers its SQL, results, and scroll position
  • Run selected text only (⌘Enter / Ctrl+Enter)
  • Multi-statement scripts on a dedicated session — LAST_QUERY_ID(-1) and RESULT_SCAN work across statements, with per-statement Query ID and an amber marker on the running statement
  • Cancel queries — issues SYSTEM$CANCEL_QUERY so credits stop too
  • Multi-cursor (⌘⌥↑/↓), toggle line comment, selection-occurrence highlight
  • Cross-tab search & replace (⌘⇧H / Ctrl+Shift+H) across SQL, YAML, Python, and notebook cells — with regex and capture groups
  • Code folding arrows always visible; fold CTEs, BEGIN…END, subqueries
  • Drag tabs to reorder; split any tab side-by-side with a draggable divider
  • Unsaved-change indicator and Save / Discard / Cancel on close
Intelligence

Context-aware completions and hovers

Schemas, columns, function overloads, even FK-aware join conditions — all sourced from your live warehouse and cached locally.

  • Hover any object — Cmd/Ctrl-hover fetches its full DDL into a scrollable overlay with copy & select
  • Function hover tooltips with all overloads — backed by a built-in catalogue of ~320 functions (works offline)
  • Dotted autocomplete: db. → schemas, db.schema. → objects, db.schema.table. → columns — plus CTE column projection and USING clause completion
  • Ctrl+Space inside a query suggests columns from every table in the current FROM/JOIN
  • JOIN ON assistance — FK relationships first, then PK-naming heuristics, then type-compatible same-name columns, with ghost-text and dropdown
  • Function-call syntax colouring: built-ins in gold, UDFs in teal
  • Live SQL diagnostics — red squiggles for syntax, yellow for grammar, column-existence, and bind-variable warnings; Snowflake-dialect PEG parser plus existence checks for stages, tasks, streams, pipes, and more — with lightbulb quick-fixes
  • Explain SQL — see the execution plan before running; flags full table scans, cartesian joins, and row explosion directly in the editor
  • AI inline completions — ghost-text SQL from OpenAI or Google AI Studio (Gemini), accept with Tab
Formatter & snippets

Opinionated, configurable, Snowflake-correct

A formatter tuned for Snowflake SQL and a curated library of scripting and object templates.

  • Format selection or whole document (⇧⌥F / Shift+Alt+F) with per-rule casing: keywords, identifiers, functions
  • Configurable indent style, comma position, AND/OR placement — live preview in Editor Preferences
  • Snowflake-specific rules always applied: :: kept tight, WITH on its own line, LATERAL FLATTEN as a unit
  • Curated CREATE OR REPLACE templates across categories (Data Objects, Code, Automation, Storage, Governance, Infrastructure) plus a built-in function catalogue
  • Snowflake Scripting snippets in a cascading right-click menu — block, declare, let, if/case, loops, cursors, async jobs — with your preferred casing applied on insert
  • Transparent dollar-quoting: code inside $$…$$ still gets highlighting, diagnostics, and hover

Python & SQL notebooks — with a built-in debugger.

Author & run

A proper notebook environment on your desktop

Mix Python and SQL cells, run against your live Snowflake session, and deploy back to the warehouse. Standard .ipynb — compatible with JupyterLab and VS Code.

  • Mixed Python (Snowpark), SQL, and Markdown cells with a persistent kernel per notebook — variables and imports carry across cells
  • Auto-connected Snowpark session — get_active_session() works in every cell with no boilerplate, kept in sync with the app toolbar in both directions
  • Jedi-powered Python intellisense — runtime-aware completions and hover docs sourced from the live kernel
  • Inline matplotlib plots rendered below the cell output
  • Guided environment setup — conda or venv wizard installs Snowpark, Jupyter, and friends; manage packages and private pip registries from the app
  • Deploy a notebook back to Snowflake with all CREATE NOTEBOOK options, or open the latest version from the object browser
  • Jupyter-style command mode (A / B / D D / Y / M / S), hover-reveal add-cell bars, and colour-coded cell kind tags
Debugger

Notebook development like real software engineering

A first-class multi-cell debugger, built in.

  • Set breakpoints in Python cells and step through your Snowpark logic
  • Live variable explorer and call stack at any pause point
  • SQL cells run through the same kernel session — USE commands affect Python cells and vice versa

Every Snowflake object, one right-click away.

Browse & search

Full warehouse, live tree

Databases → schemas → every object kind, with drag-to-editor and multi-select.

  • All objects: tables (regular, dynamic, external, Iceberg, hybrid, event), views, materialized views, functions, procedures, sequences, stages, streams, tasks, alerts, tags, file formats, pipes, notebooks, secrets, and git repositories
  • Multi-selection with ⌘ / Ctrl click; batch delete across objects in one operation
  • Instant search across all databases and schemas
  • Drag a table or view into the editor to insert a SELECT with full column list
  • Browse stage contents in the tree — upload, download, delete, and execute .sql files straight from a stage
  • Hover tooltips show object kind and name; Cmd/Ctrl-hover and View Definition show the full DDL
Create & edit objects

Comprehensive DDL dialogs

Full-coverage forms for the objects you create most, with live SQL preview.

  • Create Database — covers the full syntax: clone with AT/BEFORE time-travel, retention, Iceberg, catalog sync, tags, visibility, comment
  • Create Table designer — column editor (PK, NOT NULL, defaults, comments), cluster keys, retention, change tracking, schema evolution
  • Designers for dynamic, external, Iceberg, hybrid, and event tables, materialized views, stages, secrets, and external / data-metric functions
  • Create Task dialog — visual schedule editor (Interval / Cron with ~440 timezones), dependency picker, WHEN builder, notifications, finalizer picker
  • Properties panels expose inline-editable settings for databases, schemas, tables, and views (retention, comments, tags, Iceberg parameters…)
  • Live CREATE … preview updates with every field change; one-click copy
Task graphs

Visual DAGs with live status

An interactive view of task graphs you'd otherwise assemble from SHOW TASKS and TASK_HISTORY by hand.

  • Left-to-right DAG layout with schedule-state and last-run-state badges on every node
  • Real-time polling every 3 s — updates states in place without relaying out or losing drag positions
  • Skipped-state inference for downstream tasks when a predecessor fails
  • Run Graph and Retry Failed buttons; Retry enabled only when Snowflake's 14-day / last-run rules are met
  • Suspend All / Resume All in the correct order (root-first for suspend, leaves-first for resume)
  • Right-click any node to suspend, resume, add a child task, create a finalizer, or delete
  • Finalizer tasks rendered with a dashed purple edge from the root
Data operations

Import, export, map, compare

Everyday data moves without leaving the app.

  • Time-travel slider to query data at any past point within retention
  • Export table data as CSV / JSON / Parquet via a temporary stage; export query results as CSV or multi-sheet Excel workbooks
  • Import local CSV / JSON / Avro / ORC / Parquet — full FORMAT_TYPE_OPTIONS coverage with file preview (Parsed / Raw)
  • AI Suggest fills in format options from a file sample with an explicit consent dialog
  • Insert Mapping — map many source tables to one target with UNION / UNION ALL, auto column matching, CAST and COALESCE suggestions
  • Side-by-side Monaco diff for any two objects, files, roles, or warehouses via Select for Comparison
  • ER Diagram for any database (filterable by schema, zoom, pan, copy Mermaid source)
  • Visual ER Designer: add columns, FKs, and apply the generated DDL in one step
  • Results grid with sorting, Excel-style filtering, conditional formatting, column pinning, multi-cell copy, and selection aggregations

DDL export, git integration, schema migrations, and dbt scaffolding.

DDL export

Your whole warehouse as files

One-call-per-database export with configurable path layout and live progress.

  • Export DDL for one database or all databases, organised by schema and object type
  • Single GET_DDL('DATABASE', name, true) call per database — up to 16 in parallel
  • Configurable path template: {database}/{schema}/{object_type}/{object_name}.sql with live preview
  • Filter by database, schema, and object type; pick the warehouse to run on
  • Shared / imported databases (e.g. SNOWFLAKE_SAMPLE_DATA) are skipped automatically
  • Live progress bar, cancel any time, results summary with file counts and errors
Git integration

A source-control surface built in

Embedded go-git — no system git installation required. Push your exported DDL through CI/CD.

  • Git status folded into the file explorer — branch chip, colour-coded files and folders, single-letter status sigils
  • VS Code-style Changes view — stage / unstage / discard per file or in bulk, commit the staged set, Commit & Push
  • GitHub OAuth or personal access token authentication — tokens held in memory only, never saved to disk
  • Clone, pull, branch, switch, and fast-forward merge from the Git Operations dialog
  • Git gutter indicators in the editor — added, modified, and deleted lines marked VS Code-style
  • Compare any changed file with its last-committed version in a side-by-side diff
Schema migration wizard

Deploy DDL with real strategies

A five-step wizard that diffs your local SQL against Snowflake and deploys with the strategy you choose.

  • Multiple source directory → target database mappings in one run
  • Multi-statement file parsing; USE DATABASE/USE SCHEMA context tracking
  • Diff grid with New / Changed / Unchanged / Removed tags and Monaco diff preview below
  • Dependency auto-select: picking a VIEW selects the TABLE it depends on
  • Table strategies: Smart In-Place, Blue/Green Swap, View-Based Soft Cutover, Destructive Rebuild
  • Open-in-Editor to review the generated SQL before running
  • Safety snapshots per target database: CREATE BACKUP SET or zero-copy clone
  • Dependency-ordered execution with up to 5 retry passes; live progress table; cancel mid-run
dbt scaffolding

Generate a real dbt project from a live warehouse

Pick databases and schemas, and get a working dbt project — no dbt CLI required at generation time.

  • Name, profile, and output directory with overwrite protection
  • Optional: inline actual view SQL bodies (one GET_DDL per view) instead of {{ source() }} pass-throughs
  • Automatic reference rewriting to {{ source() }} and {{ ref() }}; CTE aliases excluded
  • Optional dbt vars: block per database so the project can be retargeted by overriding variables
  • dbt YAML intelligence in the editor — completions, hover docs, and validation from bundled dbt-jsonschema, fully offline

Bring your own AI — Thaw connects it to your warehouse.

Inline completions

Ghost-text SQL as you type

Powered by your own OpenAI or Google AI Studio (Gemini) API key.

  • Ghost-text SQL suggestions appear as you type; press Tab to accept
  • Test-connection button validates the configured model before you save — a green OK or the exact API error
  • API keys live in your OS secure store — macOS Keychain, Windows Credential Manager, or Linux Secret Service — never in config files, and are sent only to your chosen provider
MCP server

Connect Claude, Cursor, or any MCP client

Thaw exposes your Snowflake connection to external AI agents over the Model Context Protocol — with hard execution gates.

  • Localhost SSE/HTTP server with per-session crypto-random auth tokens; one-click config copy for your AI client
  • Three execution modes: Metadata Only, Read-Only SQL, and Explain Only — every statement passes a default-deny EXPLAIN precompilation gate
  • Pin the role and warehouse per session so the AI can't context-switch beyond what you allow
  • Tools for schema browsing, task graphs, stages, pipes, function metadata, DDL generation, migrations, and dbt scaffolding
  • Human-in-the-loop delivery — the AI can open formatted, diagnostics-checked SQL tabs, notebooks, and ER designs in Thaw, but you run them
  • AI-assisted data modeling — MCP clients can read and modify the live ER Designer canvas iteratively
Administration

Warehouses, users, roles, integrations

  • Warehouse Credit Usage dashboard — daily/hourly stacked charts and detail tables from WAREHOUSE_METERING_HISTORY
  • Query Activity — filter history by user, session, or warehouse; expand any row for full SQL and detail; load straight into the editor
  • Warehouse properties — size, type, auto-suspend, query acceleration, resource monitors, timeouts — all editable inline
  • User management — create, edit, enable/disable, and drop users; key-pair authentication setup with built-in RSA key generation
  • All six Snowflake integration types — Storage, API, Catalog, External Access, Notification, Security — browse, create, modify, drop
  • Backup policies and backup sets — create, alter, restore, and prune from the object browser
Files & terminal

First-class local files

  • VS Code-style file browser with open-folder workspaces, recent folders, multi-select, cut/copy/paste, and a live file-system watcher
  • Open / Save / Save As with native dialogs for .sql, .yml, .py, .md, and more
  • Embedded OS terminal in the results area — full ANSI support, shell picker, opens in your working directory
  • Open a second folder in a new, independent Thaw window
Governance & security

Visible, recoverable, cancellable

  • Query IDs visible at all times; copy to clipboard from the status bar; per-query execution profile from GET_QUERY_OPERATOR_STATS
  • Session-scoped Query Log shows every statement Thaw sends to Snowflake — and why
  • Time Travel / Undrop for dropped databases, schemas, and tables
  • Cancel running queries — also stops Snowflake credits via SYSTEM$CANCEL_QUERY
  • Secrets in the OS secure store; git tokens never written to disk; IT-admin lockable feature flags and logging policy
  • Every supported Snowflake authenticator: password, MFA push, browser SSO, Okta, key-pair/JWT, OAuth flows, PAT, and Workload Identity Federation — plus proxy support and Snowflake CLI profile reuse

This is the short version. Try the real thing.

Thaw Studio is free and open source — every feature above, no account required.