{"record":{"id":"18f9ed224be7bf59","repo":"reflex-dev/reflex","slug":"cannot-determine-dependencies-in-fetched-state-lo","errorCode":null,"errorMessage":"Cannot determine dependencies in fetched state {local_name!r}: {local_value!r} is not a BaseState.","messagePattern":"Cannot determine dependencies in fetched state (.+?): (.+?) is not a BaseState\\.","errorType":"exception","errorClass":"VarValueError","httpStatus":null,"severity":"error","filePath":"packages/reflex-base/src/reflex_base/vars/dep_tracking.py","lineNumber":76,"sourceCode":"    local_name: str | None = None,\n) -> type[BaseState]:\n    \"\"\"Assert that a local variable is a BaseState subclass.\n\n    Args:\n        local_value: The value of the local variable to check.\n        local_name: The name of the local variable to check.\n\n    Returns:\n        The local variable value if it is a BaseState subclass.\n\n    Raises:\n        VarValueError: If the object is not a BaseState subclass.\n    \"\"\"\n    from reflex.state import BaseState\n\n    if not isinstance(local_value, type) or not issubclass(local_value, BaseState):\n        msg = f\"Cannot determine dependencies in fetched state {local_name!r}: {local_value!r} is not a BaseState.\"\n        raise VarValueError(msg)\n    return local_value\n\n\n@dataclasses.dataclass\nclass DependencyTracker:\n    \"\"\"State machine for identifying state attributes that are accessed by a function.\"\"\"\n\n    func: FunctionType | CodeType = dataclasses.field()\n    state_cls: type[BaseState] = dataclasses.field()\n\n    dependencies: dict[str, set[str]] = dataclasses.field(default_factory=dict)\n\n    scan_status: ScanStatus = dataclasses.field(default=ScanStatus.SCANNING)\n    top_of_stack: str | None = dataclasses.field(default=None)\n\n    tracked_locals: dict[str, type[BaseState] | ModuleType] = dataclasses.field(\n        default_factory=dict\n    )","sourceCodeStart":58,"sourceCodeEnd":94,"githubUrl":"https://github.com/reflex-dev/reflex/blob/45b8ed5ab735f8a56bbb09a42384f030eb0208e7/packages/reflex-base/src/reflex_base/vars/dep_tracking.py#L58-L94","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","solutions":["Make the referenced object an actual rx.State subclass","Update the computed var to reference the correct state class"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":"import reflex as rx\nassert isinstance(obj, type) and issubclass(obj, rx.State), 'must be a State subclass'","typeGuard":"def is_state_class(obj) -> bool:\n    import reflex as rx\n    return isinstance(obj, type) and issubclass(obj, rx.State)","tryCatchPattern":null,"preventionTips":["Keep state classes as rx.State subclasses","Don't convert state classes to plain dataclasses/modules"],"tags":["reflex","dependency-tracking","computed-var","state"],"backgroundTag":"dependency-injection-type-mismatch","analyzedSha":"45b8ed5ab735f8a56bbb09a42384f030eb0208e7","analyzedAt":"2026-08-28T19:25:27.644Z","schemaVersion":2},"datasetVersion":"2026-08-28T21:17:43.275Z"}