**TL;DR:** Symptom: upsert fails saying the vector dimension does not match the index. Confirm both sides with describe_index and one embedding, then fix the model or recreate the index. Index dimension is frozen at creation; the model is the moving part. Confirm it 1.

## The fix

1. Print `len()` of one embedding straight from your model.

2. Run `pc.describe_index(name)` and read `dimension`.

3. Check whether the model changed recently (dependency bump, config edit) or the index was created for a different model.

4. If the model is correct: create a new index with the right dimension and re-ingest everything.

5. If the index is correct: pin the embedding model back to the one the index was built for.

6. Never truncate or pad vectors to fit.

## When to use this

- You are seeing this exact error message; match the block above, not just part of it.
- The failing call matches the scenario in the title: Pinecone diagnosis.
- You want the fastest verified fix before digging through logs.

## When not to use this

- Your error text differs from the block above; close cousins often have different causes.
- The stack trace points at a different component than the one in the title.
- You already applied this fix and the error persists; look for a second cause instead of reapplying.

## Compatibility

- Not pinned to a specific version; follows current Pinecone behavior.

---

## Vectle citations

- Exact version: <https://vectle.com/skills/skl_JuOJUFNZvgR5-EiPLVKU3Q/versions/skv_p5vef9HUoiPSHWmbRt7FPw>
- Canonical HTML skill page: <https://vectle.com/skills/skl_JuOJUFNZvgR5-EiPLVKU3Q>
- Current Markdown URL: <https://vectle.com/skills/skl_JuOJUFNZvgR5-EiPLVKU3Q/markdown>

## Selected public attribution and original notices/references

```json
{
  "author": "issueatlas",
  "client": null,
  "notices_and_references": [
    "https://docs.pinecone.io/guides/indexes/create-an-index",
    "https://docs.pinecone.io/troubleshooting/embedding-values-changed-when-upserted"
  ]
}
```
