{"id":"8ae853f2e1da4213","repo":"tiangolo/fastapi","slug":"to-use-the-fastapi-command-please-install-fastap","errorCode":null,"errorMessage":"To use the fastapi command, please install \"fastapi[standard]\":\n\n\tpip install \"fastapi[standard]\"\n","messagePattern":"To use the fastapi command, please install \"fastapi\\[standard\\]\":\n\n\tpip install \"fastapi\\[standard\\]\"\n","errorType":"console","errorClass":"RuntimeError","httpStatus":null,"severity":"critical","filePath":"fastapi/cli.py","lineNumber":12,"sourceCode":"try:\n    from fastapi_cli.cli import main as cli_main\n\nexcept ImportError:  # pragma: no cover\n    cli_main = None  # type: ignore\n\n\ndef main() -> None:\n    if not cli_main:  # type: ignore[truthy-function]\n        message = 'To use the fastapi command, please install \"fastapi[standard]\":\\n\\n\\tpip install \"fastapi[standard]\"\\n'\n        print(message)\n        raise RuntimeError(message)  # noqa: B904\n    cli_main()\n","sourceCodeStart":1,"sourceCodeEnd":14,"githubUrl":"https://github.com/tiangolo/fastapi/blob/42a41db11f6882807ac3c057b942178d53b97438/fastapi/cli.py#L1-L14","documentation":"RuntimeError raised by fastapi/cli.py:12 when the `fastapi` console script is invoked but the optional `fastapi_cli` package cannot be imported. The cli wrapper (try: from fastapi_cli.cli import main) sets cli_main=None on ImportError, and main() then prints guidance and re-raises RuntimeError telling the user to install the 'standard' extra. The 'standard' extra bundles fastapi-cli (uvicorn, etc.) needed for `fastapi dev`/`fastapi run`.","triggerScenarios":"Running `fastapi dev` or `fastapi run` (the entry point fastapi.cli:main) in an environment where only the bare `fastapi` wheel is installed and fastapi-cli is absent. Triggered exactly when the `from fastapi_cli.cli import main as cli_main` import at cli.py:2 fails.","commonSituations":"Installing `pip install fastapi` instead of `pip install 'fastapi[standard]'`; a slim Docker image that pip-installs only fastapi; a CI env pinning fastapi without extras; fastapi-cli uninstalled during a dependency cleanup.","solutions":["Install the standard extra: pip install 'fastapi[standard]'.","Or install fastapi-cli directly: pip install fastapi-cli.","If you intentionally avoid the extra, run the app with uvicorn directly: uvicorn main:app --reload.","Re-create/activate the correct virtualenv if fastapi-cli exists in a different one."],"exampleFix":"# before\npip install fastapi\nfastapi dev main.py\n# after\npip install 'fastapi[standard]'\nfastapi dev main.py","handlingStrategy":"validation","validationCode":"import importlib.util, sys, subprocess\nif importlib.util.find_spec('fastapi_cli') is None:\n    subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'fastapi[standard]'])","typeGuard":"def fastapi_cli_available() -> bool:\n    import importlib.util\n    return importlib.util.find_spec('fastapi_cli') is not None","tryCatchPattern":"try:\n    from fastapi_cli.cli import main as cli_main\n    cli_main()\nexcept (ImportError, RuntimeError):\n    print('fastapi-cli missing — falling back to uvicorn')\n    import uvicorn\n    uvicorn.run('main:app', reload=True)","preventionTips":["Install with pip install 'fastapi[standard]' to get fastapi-cli + uvicorn.","Pin python-multipart/fastapi-cli in requirements.","In slim images, install the extra explicitly.","Fall back to `uvicorn main:app` if you intentionally avoid the extra."],"tags":["cli","installation","fastapi-standard","runtime-error","packaging"],"analyzedSha":"42a41db11f6882807ac3c057b942178d53b97438","analyzedAt":"2026-08-04T19:23:32.007Z","schemaVersion":2}