{"record":{"id":"279c77273e453231","repo":"reflex-dev/reflex","slug":"cannot-use-single-port-with-frontend-only-or","errorCode":null,"errorMessage":"Cannot use --single-port with --frontend-only or --backend-only.","messagePattern":"Cannot use --single-port with --frontend-only or --backend-only\\.","errorType":"console","errorClass":"SystemExit","httpStatus":null,"severity":"error","filePath":"reflex/reflex.py","lineNumber":537,"sourceCode":"    backend_host: str | None,\n    single_port: bool,\n):\n    \"\"\"Run the app in the current directory.\"\"\"\n    from reflex.utils import prerequisites\n\n    if frontend_only and backend_only:\n        logger.error(\"Cannot use both --frontend-only and --backend-only options.\")\n        raise SystemExit(1)\n\n    if single_port:\n        if env != constants.Env.PROD:\n            logger.error(\"--single-port can only be used with --env=PROD.\")\n            raise SystemExit(1)\n        if frontend_only or backend_only:\n            logger.error(\n                \"Cannot use --single-port with --frontend-only or --backend-only.\"\n            )\n            raise SystemExit(1)\n        if frontend_port and backend_port and frontend_port != backend_port:\n            logger.error(\n                \"Cannot specify different ports for frontend and backend when using --single-port.\"\n            )\n            raise SystemExit(1)\n\n    config = get_config()\n\n    frontend_port = frontend_port or config.frontend_port\n    backend_port = backend_port or config.backend_port\n    backend_host = backend_host or config.backend_host\n\n    environment.REFLEX_COMPILE_CONTEXT.set(constants.CompileContext.RUN)\n    environment.REFLEX_BACKEND_ONLY.set(backend_only)\n    environment.REFLEX_FRONTEND_ONLY.set(frontend_only)\n\n    running_mode = prerequisites.check_running_mode(frontend_only, backend_only)\n","sourceCodeStart":519,"sourceCodeEnd":555,"githubUrl":"https://github.com/reflex-dev/reflex/blob/45b8ed5ab735f8a56bbb09a42384f030eb0208e7/reflex/reflex.py#L519-L555","documentation":"Reflex's CLI refuses to start when --single-port is combined with --frontend-only or --backend-only. Single-port mode serves the frontend and backend from one process/port, so running only one side of the app is contradictory. The check lives in reflex.reflex.run before any server is started.","triggerScenarios":"Running `reflex run --single-port --frontend-only` or `reflex run --single-port --backend-only` (or the short flags -s with -f/-b).","commonSituations":"Copy-pasting run flags from different docs/tutorials; scripts that layer flags via environment or config and accidentally enable both modes; CI pipelines reusing a run command after switching to single-port deployment.","solutions":["Remove --frontend-only/--backend-only from the command when using --single-port","If you truly need only one side, drop --single-port and use the dedicated flags alone","Check shell scripts/CI YAML for flag accumulation (e.g. EXTRA_FLAGS env var) that adds these flags implicitly"],"exampleFix":"# before\nreflex run --single-port --frontend-only\n\n# after\nreflex run --single-port","handlingStrategy":"validation","validationCode":"import sys\nsingle = '--single-port' in sys.argv or '-s' in sys.argv\nside = '--frontend-only' in sys.argv or '-f' in sys.argv or '--backend-only' in sys.argv or '-b' in sys.argv\nif single and side:\n    sys.exit('single-port cannot be combined with frontend-only/backend-only')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Keep run flags in one canonical script/Makefile target instead of accumulating CLI flags","Document the intended run command in the project README"],"tags":["reflex","cli","flags","single-port","argument-validation"],"backgroundTag":"invalid-command-line-flags","analyzedSha":"45b8ed5ab735f8a56bbb09a42384f030eb0208e7","analyzedAt":"2026-08-28T19:25:27.644Z","schemaVersion":2},"datasetVersion":"2026-08-28T21:17:43.275Z"}