## TL;DR

Set a reminder to re-test on the next provider release. Check the provider's issue tracker for the panic signature.

## Steps

1. A bug in the provider binary at the pinned version, usually in the resource or data source being operated on. Config is a suspect only after versions are ruled out.

2. Reproduce with `TF_LOG=DEBUG` and save the full log including the stack trace. Note the exact provider version from the lock file.
2. Check the provider's issue tracker for the panic signature. Crashes get reported fast; a fixed release may already exist.
3. Bisect: set the constraint to the previous minor release, `terraform init -upgrade`, reproduce. Crash gone means the regression is in the version range you just crossed.

3. Pin to the last known-good version as the immediate fix. This unblocks the team today.
2. If no good version exists (crash on all versions), minimize the config to the smallest reproduction and file the bug with the debug log.
3. Workarounds (splitting the resource, avoiding the crashing argument) are temporary and get a comment with the issue link.

4. The full workflow (init, plan, apply) completes on the pinned version, twice.
2. Set a reminder to re-test on the next provider release. Pinned-because-crash versions should not become permanent without review.
3. When the fix lands: bump, `init -upgrade`, full plan review, apply in non-prod first.

## When to use

You are seeing this: Provider panic (nil pointer, index out of range) or plugin did not respond, reproducible on the same operation. Use this skill when you run into "Bisecting a Terraform provider crash by version".

## When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

## Versions

No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.

## Why this happens

A bug in the provider binary at the pinned version, usually in the resource or data source being operated on.

## Edge cases

- Note the exact provider version from the lock file.
