TS2339: Property does not exist on type - 12 Causes and Fixes in TypeScript
TS2339: Property does not exist on type means the compiler resolved the expression on the left of the dot to a type, searched that type for your property name, and did not find it. The runtime object may well have the property at execution time - TS2339 is a statement about the type, not about the data . That single fact collapses the whole error into three possible moves: correct the name , correct the type declaration , or narrow the type you already have . Which one you need is written in the message itself, in the quotes after "on type". Below are the 12 shapes this error actually takes in a real codebase, ordered by how often they show up, each with a reproduction, the fix, and a way to confirm it. If none of them match your case, jump to the diagnostic checklist. Error error TS2339: Property 'foo' does not exist on type 'Bar'. Where it happens TypeScript - compile time only (tsc, ts-node, vite, webpack/ts-loader, Next.js, or the editor's TS...