TS2339: Property 'x' does not exist on type 'Y'.
TypeScript’s type for the object doesn’t include that property.
Seen on:
Node.js
Meaning
The type is too narrow (e.g. {} or a union), the property name is misspelled, or data from JSON/APIs isn’t typed. Don’t silence with any — describe the shape.
Common causes
- Untyped/loosely typed data ({} / unknown)
- Union type where only some members have the property
- Typo
- Extending window/Request without declaration merging
⚡ Quick fix
- Define an interface for the data
- Narrow unions with in / type guards
- Use declaration merging for window or express Request
Detailed fix by platform
Node.js
declare global { namespace Express { interface Request { user?: User } } }
How to diagnose
- Type — What type does TS infer?
- Property — Should it exist on all variants?
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 2 Oct 2026