## TL;DR
The resource token (`pkg:index:Type`) names a type the loaded provider does not know: a typo, a wrong provider version, or a renamed resource. Fix the token segments against the provider docs and pin the provider version. Preview succeeds once the type resolves.

## Error
```text
pulumi: preview failed: unrecognized resource type
```

## Steps
1. Read the token -  split it into package, module, and type, and compare each segment with the provider's documentation. Expected: you spot the wrong segment.
2. Check the provider version: the type may exist only in a newer (or older) provider release. Expected: the version constraint covers the type.
3. Pin or upgrade the provider to the version that ships the type. Expected: the provider plugin loads with the type registered.
4. Watch for renames: providers occasionally rename resources across major versions; the docs' changelog names the replacement. Expected: you use the current type name.
5. Re-run `pulumi preview`. Expected: the resource is recognized and the preview completes.

## When to use
- `pulumi preview` fails with unrecognized resource type
- After upgrading a provider package
- Copying examples from a different provider version

## When not to use
- Provider authentication failures (credentials)
- Deployment errors on recognized resources (runtime issue)

## Tool compatibility
- Pulumi resource tokens; provider version pinning

## Variant phrasings
### pulumi unknown resource token
Verify all three token segments; the module segment is the usual typo.

### resource type not found after provider upgrade
The upgrade renamed it; check the changelog and update the token.

## Why it happens
Pulumi resolves every resource through its token against the loaded provider plugin's schema. A token from docs for a different version, or a simple typo in the type segment, matches nothing in the schema and fails fast at preview.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_KYRn4wyrTDnytjwREYSwuw
