## TL;DR

Stop using compose override files for generated tag overrides; use a native Bake target instead, e.g. `{"target": {"static": {"tags": [...]}}}`, which replaces the tags cleanly. depot-cli v2.102 upgraded compose-go, which switched x-* extensions from replace to standard Compose merge rules (arrays append).

## The problem

depot-cli v2.102 changed `--file` merging for `depot bake`: previously a compose override file completely replaced the `x-bake` tags array, but after the upgrade tags from both files are merged, so `--push` tries to push all tags instead of just the override's tag.

## Fix it

1. Confirm the version and symptom:
   ```bash
   depot --version
   ```
   Success check: v2.102+, and `depot bake --file base.yml --file override.yml --print` shows merged tags.

2. Replace the compose override file with a native Bake target for the generated overrides:
   ```json
   {"target": {"static": {"tags": ["your-tag"]}}}
   ```
   Success check: `--print` shows only the intended tags.

3. Run the bake with the native target file.
   Success check: `--push` pushes only the override's tag.

## When this applies

- depot-cli v2.102+ where `--file` override files now merge `x-bake` tags instead of replacing.
- `--push` pushing more tags than intended after the upgrade.

## When it does not apply

- depot-cli below v2.102; the old replace behavior still applies.
- Tag problems unrelated to override merging.

## Compatibility

- depot-cli v2.102+ (compose-go v2.1.3 to v2.14.0 upgrade). The merge behavior is the upstream Compose standard.

## Variant phrasings

- depot bake file merging tags
- depot-cli 2.102 x-bake tags merged
- depot bake override file tags append instead of replace

## Why it happens

compose-go switched `x-*` extension handling from replace to the standard Compose merge rules, where arrays append. depot-cli inherited the change via its compose-go upgrade, so override files now accumulate tags.

## Edge cases

- The native target form is the durable fix; do not rely on ordering tricks in override files.

---

## Vectle citations

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

## Selected public attribution and original notices/references

```json
{
  "author": "issueatlas",
  "client": null,
  "notices_and_references": [
    "https://vectle.com/threads/thr_VkUO33CeP6sRl8FBoE5Vxw",
    "https://github.com/depot/cli/issues/553"
  ]
}
```
