cube-js/cube · error · ConfigurationException

Unknown configuration property: '%s'

Error message

Unknown configuration property: '%s'

What it means

ConfigurationException raised in the Python @config decorator's __call__ (cube package) when the decorated function's name does not correspond to any known configuration property on the Cube config object (checked via hasattr). The function name is treated as the property name, so a typo'd or unsupported name triggers this.

Source

Thrown at packages/cubejs-backend-native/python/cube/src/__init__.py:141

        self.repository_factory = None
        self.schema_version = None
        self.semantic_layer_sync = None
        self.pre_aggregations_schema = None
        self.orchestrator_options = None
        self.context_to_groups = None
        self.fast_reload = None

    def __call__(self, func):
        if isinstance(func, str):
            return AttrRef(self, func)

        if not callable(func):
            raise ConfigurationException("@config decorator must be used with functions, actual: '%s'" % type(func).__name__)

        if hasattr(self, func.__name__):
            setattr(self, func.__name__, func)
        else:
            raise ConfigurationException("Unknown configuration property: '%s'" % func.__name__)

class AttrRef:
    config: Configuration
    attribute: str

    def __init__(self, config: Configuration, attribute: str):
        self.config = config
        self.attribute = attribute

    def __call__(self, func):
        if not callable(func):
            raise ConfigurationException("@config decorator must be used with functions, actual: '%s'" % type(func).__name__)

        if hasattr(self.config, self.attribute):
            setattr(self.config, self.attribute, func)
        else:
            raise ConfigurationException("Unknown configuration property: '%s'" % func.__name__)

View on GitHub (pinned to 7d981676b3)

Solutions

  1. Rename the decorated function to a supported configuration property (e.g. query_rewrite, extend_context, scheduled_refresh_contexts, pre_aggregations_schema, orchestrator_options, etc.).
  2. Check spelling against the list of configuration attributes initialized in the config class.
  3. Use the string AttrRef form config('property_name') only for properties that exist on the object.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/cubejs-backend-native/python/cube/src/__init__.py:141 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/860a35b1415125c9. Report an issue: GitHub.