How new Catalog-Linked Database (CLD) capabilities take Snowflake's lakehouse interoperability to the next level
Your data lives everywhere; cross-regions, cross-clouds, cross-catalogs and more. Every team that touches the data could be using a different engine, a different catalog, a different set of credentials. The result: fragmented access, inconsistent governance controls and an ever-growing tax on the teams trying to make sense of it all.
But what if it didn't matter where the data lives? What if you could access, govern, write to and share every table in every external catalog — as if it were all part of a single, unified data estate?
That's the promise Snowflake delivered on with Catalog-Linked Databases (CLD), which became generally available (GA) in October 2025. Instead of manually creating individual Iceberg tables or running one-off sync jobs, you point Snowflake at your external catalog and it auto-discovers every namespace and table. Live sync. Full read-write. Governance layered on top. No data movement required. Thousands of accounts and millions of Iceberg tables later, CLD has proven the model.
But we heard from customers that while CLD addressed the what — connecting to external data — there was room to go further on the how fast, how fresh and how far:
- How fast can a new team get connected?
- How fresh is my data, really?
- How far can I share this linked data?
This post introduces the capabilities that answer those questions — taking CLD from "addressed the interoperability problem" to "an easier, more trustworthy and more shareable way to work with external data at scale."
Even easier: From a few SQL steps to a conversation
CLD setup was already simpler than what other platforms offer for Apache Iceberg™ interoperability: a single CREATE DATABASE statement, rather than multisystem, multiconsole orchestration. But we wanted to go further: What if connecting your external catalog required no SQL at all?
CoCo: Agentic setup in 60 seconds
What used to require a senior data engineer and a half-day of context-switching is now a 60-second conversation.
With the new CoCo skill for CLD, you describe what you want in plain language — "Connect my Glue catalog to a new database called LAKE_ANALYTICS" — and CoCo handles the rest:
- Generates Snowflake objects: External volume, catalog integration and CLD, with correct dependencies and sequencing
- Produces cloud-side configuration: The exact IAM policy or trust relationship for your AWS or Azure account, with instructions on where to apply it
- Validates the connection: Tests the link in real time and confirms metadata is flowing before you query
This is the power of an AI agent that understands infrastructure dependencies. Where other platforms still require you to aimlessly wander between cloud consoles, generate OAuth credentials, configure service principals and troubleshoot permission errors manually, CoCo collapses the entire workflow into a guided conversation. You describe the outcome you want; it handles the plumbing. The experience is conversational. If something doesn't connect — a missing permission, a misconfigured trust policy — CoCo identifies the specific issue and tells you exactly what to fix. No more hunting through logs across three different systems to find why your catalog integration won't validate.
Guided setup UI in Snowsight
For teams that prefer a visual workflow, the new Guided setup UI in Snowsight walks through catalog integration, external volume and CLD creation in a single wizard. No CLI or SQL needed. The wizard validates each step before moving to the next, catching configuration errors before they become debugging sessions.
Immediate next steps: From connected to productive
Once your CLD is live, Snowsight now surfaces three one-click actions:
- Auto-classify your data: Run Snowflake Horizon's sensitive data detection on your newly linked tables
- Create a dbt project: Start building transformations on linked data immediately
- Talk to your data: Open Snowflake Intelligence for natural-language queries
Your data is linked, and the path to value is a click away.
Even fresher: Every query reads the latest
Production workloads like live dashboards, operational analytics and AI agents all share one requirement: the data has to be current. Not eventually consistent. Not "fresh as of the last poll cycle." Current.
With JIT Refresh + Intelligent Polling, that's exactly what Snowflake delivers. Every query against your externally managed Iceberg data reads the latest metadata from your external catalog, fully managed, with no trade-off on performance.
Just-in-time refresh + Intelligent Polling
JIT Refresh changes the model: when you query an externally managed Iceberg table, Snowflake fetches the latest metadata from your external catalog at query time. Every query returns fresh data, not data-from-the-last-poll-cycle.
Intelligent Polling complements this by adapting background polling frequency to each table's historical change rate. High-change tables get polled more often. Stable tables don't waste API calls.
The result: stronger consistency on externally managed Iceberg data. No refresh intervals to configure. No manual refresh commands. No wondering how current your data is.
The best of both worlds: freshness and performance.
Snowflake has always optimized for query performance through metadata caching. JIT Refresh builds on that foundation rather than abandoning it. Intelligent Polling keeps the cache warm in the background based on each table's actual change patterns, so when JIT Refresh checks for updates at query time, there's minimal delta to resolve. Your query is both fresh and fast.
Other approaches to external Iceberg access skip caching entirely and talk directly to the catalog on every query. That gives you freshness, but at the cost of query latency with no built-in performance optimization. Snowflake's approach is additive: You get the freshness of query-time validation plus the performance benefit of a warm, intelligently maintained cache.
This makes CLD production-ready for even the most latency-sensitive workloads.
Observability UI: Trust through visibility
When you're running CLD in production — powering dashboards, feeding AI models, driving operational decisions — you need to see that your data is current.
The new Observability UI (private preview) in Snowsight gives you exactly that: a real-time view of your CLD's health. At a glance, you can see which tables are syncing successfully, which are experiencing refresh delays, and which have encountered errors, along with the specific error details and when they occurred.
Previously, gaining this visibility required writing custom stored procedures to monitor refresh state, essentially building monitoring infrastructure to monitor your monitoring infrastructure. Now it's native. You open the CLD in Snowsight, and the health of every linked table is immediately visible. For teams with SLAs on data freshness, this is the difference between "we think it's working" and "we can prove it's working."
CoCo: Guided troubleshooting when things go wrong
At enterprise scale — tens of thousands of tables, multiple schemas, varying change rates — occasional refresh issues are a fact of life. A source catalog rotates a metadata file path. A permission change upstream affects a subset of schemas. These are normal operational events, not emergencies.
The CoCo Troubleshooting Skill keeps them that way. Accessible directly from Snowsight, it diagnoses refresh issues in context — pinpointing the root cause, explaining what happened in plain language and recommending the specific fix. You review, confirm, and the table is back in sync. Resolution in minutes, not guesswork.
Even further: Share linked data across your ecosystem
CLD works within a single Snowflake account. But enterprise architectures span accounts, regions and clouds — and sharing CLD data across those boundaries still requires workarounds today. That's about to change.
CLD + Cross-Cloud Auto-Fulfillment
Snowflake already supports cross-region sharing for individual externally managed Iceberg tables via Cross-Cloud Auto-Fulfillment (generally available early 2026). But sharing tables one at a time doesn't scale when your catalog has hundreds or thousands of tables.
CLD + Cross-Cloud Auto-Fulfillment closes this gap. Instead of managing hundreds of individual shares, you share your entire CLD, a single object that represents your full external catalog, across Snowflake accounts and regions. New tables that appear in your external catalog are automatically discovered and included. Governance policies (masking, tags, RBAC) apply across the board. Consumers in any region get live, governed access to your linked data without you copying anything or building replication pipelines.
The CLD difference: True interoperability
What makes Snowflake's approach to externally managed Iceberg data fundamentally different?
Write to any catalog, not just one. Snowflake delivers full DML (INSERT, UPDATE, DELETE, MERGE) and DDL on externally managed Iceberg tables in your catalog of choice — Glue, Unity, Polaris, OneLake, Lakehouse, Foundry and other Iceberg REST catalogs. Other platforms either restrict external Iceberg tables to read-only, or allow external writes only into their own catalog. True interoperability means reading and writing where your data already lives.
Governance travels with the connection. When you access external data through CLD, Snowflake layers its own governance controls directly on top (masking policies, tags and role-based access control (RBAC)). Other platforms tie governance enforcement to their compute layer: Access data from a different engine, and your fine-grained security policies don't follow.
Iceberg as a top-level citizen. CLD treats Iceberg the same whether it's Snowflake-managed or externally managed — full DML and DDL, governance. Other platforms built their stack around a proprietary format first and are still catching up on Iceberg depth.
Auto-discover, don't manually register. CLD automatically syncs all namespaces and tables from your remote catalog — no per-table setup, no manual refresh commands. Other platforms require explicit refresh operations and discover tables as read-only.
What's new: The complete picture
| Capability | What It Does | Why It Matters |
|---|---|---|
| CoCo CLD Setup | AI-guided end-to-end provisioning | Zero-SQL, 60-second path to connecting your external catalog |
| Guided Setup UI + CTA buttons | Visual wizard in Snowsight and one-click next steps after CLD creation | No-code option for teams that prefer UI workflow. Immediate path to classify, transform, or query with AI |
| JIT Refresh + Intelligent Polling (private preview) | Query-time metadata freshness with intelligent background caching | Fresh reads at query time, without overloading your source catalog |
| Observability UI (private preview) | Real-time refresh health dashboard | Monitor table health as CLD scale |
| CoCo Troubleshooting | AI-guided refresh issue diagnosis and fix | AI diagnoses the issue and recommends the fix — you just confirm |
| CTA buttons | One-click next steps after CLD creation | Immediate path to classify, transform, or query with AI |
| CLD + Cross-Cloud Auto-Fulfillment (generally available) | Cross-region/account sharing for linked data | Governed distribution of external catalog data as listings |
Get started
- Install CoCo CLI: Tell it to connect your external catalog in natural language
- Try the Guided Setup UI: Create a CLD in Snowsight without writing SQL
Your data lives across catalogs, clouds and regions. With these new CLD capabilities, it doesn't matter. Access it, govern it, write to it, share it — wherever it lives.




