treeverse / treeverse/dvc

`dvc exp show -A` does not show all experiments

Open
#10,707 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A: experiments
Dominant language
Python
Stars
15.9k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Description

Bug Report

exp show: doesn't show all experiments.

Description

I have a slightly non-conventional git workflow that involves frequent rebasing and re-writing of history. I have found during this workflow that experiments can be lost from the dvc exp show -A view though they can still be interacted with, for example, by running commands like dvc exp apply <exp-name>.

For example, my repository has the experiment ./.git/refs/exps/a0/79b1b80f5d926dc321d3abebc13ffc23011e16/vatic-eild, but it does not appear in dvc exp show -A even though I can apply it with dvc exp apply vatic-eild.

Reproduce

I'm not exactly sure how to reproduce the issue. I'm not familiar enough with dvc internals to determine why it would be excluded even though I do have a ref in .git/refs/exps for this experiment.

Expected

I should see all experiments when I run dvc exp show -A.

Environment information

Output of dvc doctor:

$ dvc doctor
DVC version: 3.59.1 (pip)
-------------------------
Platform: Python 3.12.9 on macOS-15.3.2-arm64-arm-64bit
Subprojects:
        dvc_data = 3.16.9
        dvc_objects = 5.1.0
        dvc_render = 1.0.2
        dvc_task = 0.40.2
        scmrepo = 3.3.10
Supports:
        http (aiohttp = 3.11.14, aiohttp-retry = 2.9.1),
        https (aiohttp = 3.11.14, aiohttp-retry = 2.9.1),
        s3 (s3fs = 2025.3.0, boto3 = 1.37.1)
Config:
        Global: /Users/kevinblissett/Library/Application Support/dvc
        System: /Library/Application Support/dvc
Cache types: reflink, hardlink, symlink
Cache directory: apfs on /dev/disk3s1s1
Caches: local
Remotes: s3
Workspace directory: apfs on /dev/disk3s1s1
Repo: dvc, git
Repo.site_cache_dir: /Library/Caches/dvc/repo/6f599a00529264e4aa3d71daa522caf0

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the experiment ref under .git/refs/exps with the output of dvc exp show -A, then trace the exp show CLI path that discovers experiments. Reproduce the missing vatic-eild case if possible; done means every existing experiment ref appears in the all-experiments view while remaining usable by dvc exp apply.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, python
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.