snowflake-catalog-gotchas-v22-0-3
Snowflake catalog patterns that look documented but aren’t
Three Snowflake SQL catalog patterns shipped broken in snowflake-mcp v22.0.0 because they LOOK like obvious SHOW/SHOW PARAMETERS commands but do not work as one would assume. All verified live against Runwal account on 2026-04-25 during v22.0.3 fix-pack.
1. SHOW CORTEX MODELS — does not exist
Calling it raises 001003 (42000) syntax error. There is no SNOWFLAKE.CORTEX.LIST_AVAILABLE_MODELS() table function either (verified — unexpected '(').
Canonical pattern: return a curated list pinned to vendor docs URL + verification stamp. Probe SHOW FUNCTIONS LIKE 'COMPLETE' IN SCHEMA SNOWFLAKE.CORTEX to confirm Cortex reachability. Source: https://docs.snowflake.com/en/sql-reference/functions/complete-snowflake-cortex#arguments
2. SHOW SEMANTIC VIEWS requires explicit scope
The bare command parses successfully but returns 0 rows on every account. Adding IN ACCOUNT (or IN DATABASE x / IN SCHEMA x.y) returns the actual rows.
SHOW SEMANTIC VIEWS -- 0 rows (silent)
SHOW SEMANTIC VIEWS IN ACCOUNT -- all visible viewsDefault the scope to IN ACCOUNT when no database/schema arg supplied.
3. ACCOUNT_EDITION is NOT a Snowflake parameter
SHOW PARAMETERS LIKE 'ACCOUNT_EDITION' IN ACCOUNT returns 0 rows on every edition. Code that infers edition = "UNKNOWN" from this empty result will always report UNKNOWN regardless of the account’s actual edition.
Canonical pattern: feature inference. Probe edition-gated features and infer the highest match:
| Feature probed | Implied edition gate |
|---|---|
SHOW FUNCTIONS LIKE 'COMPLETE' IN SCHEMA SNOWFLAKE.CORTEX | STANDARD+ |
SHOW MASKING POLICIES IN ACCOUNT (no error) | ENTERPRISE+ |
SHOW ROW ACCESS POLICIES IN ACCOUNT (no error) | ENTERPRISE+ |
SHOW FAILOVER GROUPS IN ACCOUNT (no error) | BUSINESS_CRITICAL+ |
| Tri-Secret Secure tag presence | BUSINESS_CRITICAL+ |
Why this is in the institutional vault
All three were Bible R38 violations — guessing at upstream API surface from “obvious-looking” patterns. Live probing exposed the real semantics before patches. Future Snowflake work by any agent (claude-code, NOVA, dev-architect, etc.) MUST live-probe SHOW/SELECT before binding to a tool.
Reference impl
snowflake-mcp v22.0.3 — snowflake_client_complete.py functions list_cortex_models, show_semantic_views_v2, check_account_edition. Pair pilot-learnings.md documents full root-cause + fix.