cube-js/cube · error · TypeError

The ${keyByDataSource('CUBEJS_DB_SNOWFLAKE_QUOTED_IDENTIFIER

Error message

The ${keyByDataSource('CUBEJS_DB_SNOWFLAKE_QUOTED_IDENTIFIERS_IGNORE_CASE', dataSource, preAggregations)} must be either 'true' or 'false'.

What it means

Env type validation in env.ts snowflakeQuotedIdentIgnoreCase: CUBEJS_DB_SNOWFLAKE_QUOTED_IDENTIFIERS_IGNORE_CASE must be the literal string 'true' or 'false' (case-insensitive); any other value throws this TypeError when the accessor is called, guarding the boolean flag that controls Snowflake identifier case sensitivity.

Source

Thrown at packages/cubejs-backend-shared/src/env.ts:1650

  }: DataSourceOpts) => (
    get(keyByDataSource('CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY_PASS', dataSource, preAggregations)).asString()
  ),

  /**
   * Snowflake case sensitivity for identifiers (like database columns).
   */
  snowflakeQuotedIdentIgnoreCase: ({
    dataSource,
    preAggregations,
  }: DataSourceOpts) => {
    const val = get(keyByDataSource('CUBEJS_DB_SNOWFLAKE_QUOTED_IDENTIFIERS_IGNORE_CASE', dataSource, preAggregations)).asString();
    if (val) {
      if (val.toLocaleLowerCase() === 'true') {
        return true;
      } else if (val.toLowerCase() === 'false') {
        return false;
      } else {
        throw new TypeError(
          `The ${
            keyByDataSource(
              'CUBEJS_DB_SNOWFLAKE_QUOTED_IDENTIFIERS_IGNORE_CASE',
              dataSource,
            )
          } must be either 'true' or 'false'.`
        );
      }
    } else {
      return false;
    }
  },
  /** ****************************************************************
   * Presto Driver                                                   *
   ***************************************************************** */

  /**
   * Presto catalog.

View on GitHub (pinned to 7d981676b3)

Solutions

  1. Set the variable to 'true' or 'false' exactly.
  2. Unset it to keep the default behavior.
  3. Avoid values like yes/no, 1/0, or quoted JSON strings — only true/false (any case) parse.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/cubejs-backend-shared/src/env.ts:1650 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of cube-js/cube@7d981676b3 (2026-09-02). Data as JSON: /api/errors/5f9cf11d98cb29f6. Report an issue: GitHub.