cube-js/cube · error

You requested hidden member: '{}'. Please make it visible us

Error message

You requested hidden member: '{}'. Please make it visible using `public: true`. Please note primaryKey fields are `public: false` by default: https://cube.dev/docs/schema/reference/joins#setting-a-primary-key.

What it means

Error "You requested hidden member: '{}'. Please make it visible using `public: true`. Please note primaryKey fields are `public: false` by default: https://cube.dev/docs/schema/reference/joins#setting-a-primary-key." thrown in cube-js/cube.

Source

Thrown at rust/cube/cubeorchestrator/src/query_result_transform.rs:308

        "{}{}{}",
        dimension, BLENDING_QUERY_RES_SEPARATOR, granularity
    ))
}

fn member_name(m: &MemberOrMemberExpression) -> Option<&str> {
    match m {
        MemberOrMemberExpression::Member(s) => Some(s.as_str()),
        MemberOrMemberExpression::ParsedMemberExpression(e) => Some(e.name.as_str()),
        MemberOrMemberExpression::MemberExpression(e) => Some(e.name.as_str()),
    }
}

fn ensure_member_in_annotation(
    member: &str,
    annotation: &HashMap<String, ConfigItem>,
) -> Result<()> {
    if !annotation.contains_key(member) {
        bail!(
            concat!(
                "You requested hidden member: '{}'. Please make it visible using `public: true`. ",
                "Please note primaryKey fields are `public: false` by default: ",
                "https://cube.dev/docs/schema/reference/joins#setting-a-primary-key."
            ),
            member
        );
    }
    Ok(())
}

/// When the query result is empty (no columns/rows), we still need to verify
/// that all requested members are present in the annotation.
/// This catches RBAC-denied members that would otherwise silently return empty data.
/// Note: segments are excluded because the annotation map only contains
/// measures, dimensions, and time dimensions.
fn validate_query_members_in_annotation(
    query: &NormalizedQuery,

View on GitHub (pinned to 7d981676b3)

Solutions

  1. Set public: true on the hidden member in the data model so it can be requested
  2. If the member is a primary key, remember primaryKey dimensions are public: false by default — either make the key public or restructure the query to not need it
  3. Remove the hidden member from the query
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at rust/cube/cubeorchestrator/src/query_result_transform.rs:308 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/7a8ba735dcd53e38. Report an issue: GitHub.