## TL;DR
The experiment was deleted, and deleted experiments keep their id reserved while lookups by id fail: search by name including deleted lifecycle stages, restore the experiment if the runs still matter, or create a fresh experiment and re-point the code. Code holding a numeric experiment id from before the deletion will keep failing until it resolves the experiment by name at startup.

```text
how to fix 'MLflowException: Could not find experiment with ID' error after deleting experiment
```

## Use this when
- The run or call fails with this symptom: MlflowException: Could not find experiment with ID after deleting the experiment.
- You are working on an MLflow job failing after its experiment was deleted in the UI and the failure repeats on the same run or configuration.
- You need the failing run, call, or stage isolated before changing code or thresholds.

## Not for this skill when
- An experiment id that never existed on this server because it came from another environment, where the fix is resolving by name per environment.
- The error text names a different tool, stage, or root cause. Match the verbatim error first and use that skill.

## Steps
1. Search experiments by name with the view type that includes deleted experiments and record the id and stage returned. Verify: the deleted experiment is located or confirmed purged
2. If the runs matter, restore the experiment, which brings back the id the code expects. Verify: the restored experiment answers lookups by its original id
3. If not, create a replacement experiment and update the stored id in config, or switch the code to resolve by name at startup. Verify: the job resolves a live experiment id
4. Rerun the failing call and confirm runs land in the intended experiment. Verify: new runs appear under the correct experiment

## Variant phrasings
### mlflow could not find experiment with id deleted
The verbatim phrasing.
### mlflow experiment deleted restore id lookup fails
The restore phrasing.
### mlflow get experiment by id not found after cleanup
The cleanup phrasing.

Compatibility: MLflow 2.x and 3.x experiment deletion and lookup

## Why it happens
Deletion in MLflow is a soft delete: the experiment moves to a deleted stage where id-based lookups used by running code stop resolving, while the name and id stay reserved. Cleanup in the UI therefore breaks jobs that cached the id, with an error that sounds like the id was always wrong.

## Edge cases / pitfalls
- Permanent purge removes the restore option; check promptly if the runs have audit value.
- Hardcoded experiment ids in committed config are the root pattern; name-based resolution prevents the whole class.

## Provenance

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