reflex-dev/reflex · error · VarValueError

Cannot determine dependencies in fetched state

Error message

Cannot determine dependencies in fetched state {local_name!r}: {local_value!r} is not a BaseState.

What it means

During automatic dependency tracking of a cached computed var, reflex found a local variable that looks like a fetched state reference but is not a BaseState subclass. Only state classes can be tracked as dependencies.

Solutions

  1. Make the referenced object an actual rx.State subclass
  2. Update the computed var to reference the correct state class
Defensive patterns

Strategy: type-guard

Validate before calling

import reflex as rx
assert isinstance(obj, type) and issubclass(obj, rx.State), 'must be a State subclass'

Type guard

def is_state_class(obj) -> bool:
    import reflex as rx
    return isinstance(obj, type) and issubclass(obj, rx.State)

Prevention

When it happens

Trigger: Inside a cached computed var, referencing something via get_state-like patterns where the local resolves to a module, function, or instance rather than a State class.

Common situations: Refactoring state classes into plain classes/modules while cached computed vars still reference them; naming a non-state class the same as a former state class.

Related errors


AI-assisted analysis of reflex-dev/reflex@45b8ed5ab7 (2026-08-28). Data as JSON: /api/errors/18f9ed224be7bf59. Report an issue: GitHub.

Appendix: source

Thrown at packages/reflex-base/src/reflex_base/vars/dep_tracking.py:76

    local_name: str | None = None,
) -> type[BaseState]:
    """Assert that a local variable is a BaseState subclass.

    Args:
        local_value: The value of the local variable to check.
        local_name: The name of the local variable to check.

    Returns:
        The local variable value if it is a BaseState subclass.

    Raises:
        VarValueError: If the object is not a BaseState subclass.
    """
    from reflex.state import BaseState

    if not isinstance(local_value, type) or not issubclass(local_value, BaseState):
        msg = f"Cannot determine dependencies in fetched state {local_name!r}: {local_value!r} is not a BaseState."
        raise VarValueError(msg)
    return local_value


@dataclasses.dataclass
class DependencyTracker:
    """State machine for identifying state attributes that are accessed by a function."""

    func: FunctionType | CodeType = dataclasses.field()
    state_cls: type[BaseState] = dataclasses.field()

    dependencies: dict[str, set[str]] = dataclasses.field(default_factory=dict)

    scan_status: ScanStatus = dataclasses.field(default=ScanStatus.SCANNING)
    top_of_stack: str | None = dataclasses.field(default=None)

    tracked_locals: dict[str, type[BaseState] | ModuleType] = dataclasses.field(
        default_factory=dict
    )

View on GitHub (pinned to 45b8ed5ab7)