TS2339: Property does not exist on type

Property '<name>' does not exist on type '<type>'.

The value you're accessing a property on has a real, resolvable type — but that type has no property by this name. Either it never existed, or it existed on an older shape of this type and was dropped.

Why this happens in documentation specifically

This is the single most common shape of stale documentation: a result object's fields change across versions, but the sample that reads `result.someOldField` never gets touched, because the sample still runs — it just returns `undefined` at that property instead of throwing, and nobody notices until TypeScript is asked to check it.

The real example below, `result.reasoningDetails`, is exactly that pattern against a real `GenerateTextResult` return type.

A real example

ai@7.0.66
console.log(result.reasoningDetails);
Property 'reasoningDetails' does not exist on type 'GenerateTextResult<ToolSet, Context, Output<string, string, any>>'.

How to fix it

Look at the type's current declaration for the closest real replacement. Unlike TS2551, TypeScript found nothing here worth suggesting — either nothing on the type is textually close enough, or the field was removed outright rather than renamed.

If the property genuinely used to exist and now doesn't, this is often a sign the whole surrounding code sample assumes an old response shape, not just one field — worth reading more of the sample than just the flagged line.

Related codes

snippetcheck finds diagnostics like this one across a whole documentation site, not just a single sample — see how it works.