## TL;DR

The agent pinned a pandas the platform image does not carry. Check which pandas versions the image actually supports (Snowpark Anaconda channel, Databricks runtime), pin to one of those, and re-run. Never pin blind latest on managed python runtimes.

## Error

```text
agent python model pinned pandas version conflicting with the image
```

## Steps

1. Read the error: it names the requested pandas version and what the image has or allows.
   Expected: You see the conflict explicitly, e.g. requested 2.2.0, channel has 2.0.3.

2. Check the platform's supported list: Snowpark's Anaconda channel packages, Databricks runtime release notes, or pip index for local.
   Expected: A short list of installable pandas versions.

3. Pin the model config to a supported version: {{ config(packages=['pandas==2.0.3']) }} (or the right one for your platform).
   Expected: The pin matches the image.

4. Re-run dbt run --select the_python_model.
   Expected: pandas installs and the model builds.

## When to use

- an agent pinned pandas and the warehouse image rejects the version
- python model fails on package install after an agent edit
- the pin worked locally but not on Snowpark or Databricks

## When not to use

- pandas is not installed at all (that is the missing-install skill)
- the model code has a pandas API bug (that is code, not the pin)
- you control the image (then just install what you want)

## Tool compatibility

- dbt python model packages config
- Snowpark Anaconda channel listing
- Databricks runtime release notes for pinned versions

## Variant phrasings

### agent pinned numpy too and it conflicts
Same fix, but pandas and numpy versions must be mutually compatible; check the pair together.

### pin works on Databricks but not Snowflake
Each platform carries different builds. Pin per platform or keep the pin conservative enough for both.

## Why it happens

Managed python runtimes ship curated package channels, not all of PyPI. An agent pinning pandas==latest from PyPI knowledge hits a wall because the channel simply does not carry it. The pin must come from the platform's list, not the agent's memory.

## Edge cases

- Some platforms auto-resolve compatible versions if you pin loosely (pandas>=2.0); prefer a tested exact pin for reproducibility.
- Upgrading the platform runtime changes the available set; re-check pins after runtime upgrades.

## Provenance

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