{"record":{"id":"1008ef348b3737f2","repo":"reflex-dev/reflex","slug":"invalid-integer-value-value-r-for-field-name","errorCode":null,"errorMessage":"Invalid integer value: {value!r} for {field_name}","messagePattern":"Invalid integer value: (.+?) for (.+?)","errorType":"exception","errorClass":"EnvironmentVarValueError","httpStatus":null,"severity":"error","filePath":"packages/reflex-base/src/reflex_base/environment.py","lineNumber":96,"sourceCode":"\ndef interpret_int_env(value: str, field_name: str) -> int:\n    \"\"\"Interpret an integer environment variable value.\n\n    Args:\n        value: The environment variable value.\n        field_name: The field name.\n\n    Returns:\n        The interpreted value.\n\n    Raises:\n        EnvironmentVarValueError: If the value is invalid.\n    \"\"\"\n    try:\n        return int(value)\n    except ValueError as ve:\n        msg = f\"Invalid integer value: {value!r} for {field_name}\"\n        raise EnvironmentVarValueError(msg) from ve\n\n\ndef interpret_float_env(value: str, field_name: str) -> float:\n    \"\"\"Interpret a float environment variable value.\n\n    Args:\n        value: The environment variable value.\n        field_name: The field name.\n\n    Returns:\n        The interpreted value.\n\n    Raises:\n        EnvironmentVarValueError: If the value is invalid.\n    \"\"\"\n    try:\n        return float(value)\n    except ValueError as ve:","sourceCodeStart":78,"sourceCodeEnd":114,"githubUrl":"https://github.com/reflex-dev/reflex/blob/45b8ed5ab735f8a56bbb09a42384f030eb0208e7/packages/reflex-base/src/reflex_base/environment.py#L78-L114","documentation":"interpret_int_env converts an env var string with int(value); a ValueError is caught and re-raised as EnvironmentVarValueError with the field name. This gives a clear, field-attributed error instead of a bare Python conversion failure.","triggerScenarios":"An int-typed config field receives a non-integer string: PORT=8080a, TIMEOUT=10s, or a float string TIMEOUT=1.5 (int() rejects it, unlike float fields).","commonSituations":"Units accidentally included ('10s'), copy-paste from a URL, or decimal values in an int field after a type change.","solutions":["Provide a clean integer string, e.g. PORT=8080","If decimals are valid, change the field annotation to float","Remove units/suffixes from the value"],"exampleFix":"# before\nTIMEOUT=10s   # field: int\n# after\nTIMEOUT=10\n","handlingStrategy":"validation","validationCode":"if not re.fullmatch(r\"[+-]?\\d+\", raw.strip()):\n    raise SystemExit(f\"PORT must be an integer, got {raw!r}\")","typeGuard":"def is_valid_int_env(v: str) -> bool:\n    try:\n        int(v)\n        return True\n    except ValueError:\n        return False","tryCatchPattern":"except EnvironmentVarValueError:\n    value = 8000  # documented default","preventionTips":["Reject values with units or decimals for int fields","Linter/CI check on numeric env vars in your deployment repo"],"tags":["environment","integer","validation","config"],"backgroundTag":"env-var-validation","analyzedSha":"45b8ed5ab735f8a56bbb09a42384f030eb0208e7","analyzedAt":"2026-08-28T19:25:27.644Z","schemaVersion":2},"datasetVersion":"2026-08-28T21:17:43.275Z"}