python
config_error
ai_generated
true
TypeError: CORSMiddleware.__init__() got an unexpected keyword argument 'allow_origins'
ID: python/starlette-cors-middleware-error
80%Fix Rate
85%Confidence
0Evidence
2025-09-05First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| 3.x | active | — | — | — |
Root Cause
The CORSMiddleware in Starlette uses 'allow_origins' but older versions use 'origins'.
generic中文
Starlette中的CORSMiddleware使用'allow_origins',但旧版本使用'origins'。
Workarounds
-
90% success Check the Starlette version and use the correct parameter name.
from starlette.middleware.cors import CORSMiddleware app.add_middleware(CORSMiddleware, allow_origins=['*']) # For newer versions
-
85% success Use 'origins' parameter for older Starlette versions.
app.add_middleware(CORSMiddleware, origins=['*'])
Dead Ends
Common approaches that don't work:
-
Using both 'origins' and 'allow_origins' together.
70% fail
Only one parameter is accepted; using both causes error.
-
Upgrading starlette but not updating the code.
60% fail
Newer versions may have changed the parameter name.