DVC diff for tracked output folder

I have a complex DVC pipeline. dvc run gives me:

sanity_check_yolo_data:                                                                                                                                                                                                                       
        changed outs:
                deleted:            output/yolo_sanity_check_train.csv
                deleted:            output/yolo_sanity_check_val.csv
train_yolo:
        changed deps:
                modified:           data/yolo/internal/1/labels
                deleted:            output/yolo_sanity_check_train.csv
                deleted:            output/yolo_sanity_check_val.csv

I want to check what exactly changed for the tracked directory: data/yolo/internal/1/labels so I run dvc diff --targets data/yolo/internal/1/labels which prints absolutely nothing.

I also tried dvc diff --json, which just prints:

{}

The directory is very much being tracked by DVC within this stage:

  prep_yolo_labels:
    cmd: python dronaut/ai/models/ultralytics/prep_yolo_labels.py
    deps:
      - data/yolo/internal/1/images
      - data/yolo/internal/1/coco_labels
      - dronaut/ai/models/ultralytics/prep_yolo_labels.py
    params:
      - config.json:
        - Ultralytics.Yolo.data_root
        - Ultralytics.Yolo.finetune.labeling_frac
    outs:
      - data/yolo/internal/1/labels

And DVC doctor gives me this:

Platform: Python 3.12.11 on Linux-6.8.0-1030-azure-x86_64-with-glibc2.35
Subprojects:
        dvc_data = 3.16.10
        dvc_objects = 5.1.1
        dvc_render = 1.0.2
        dvc_task = 0.40.2
        scmrepo = 3.3.11
Supports:
        azure (adlfs = 2024.12.0, knack = 0.12.0, azure-identity = 1.23.0),
        http (aiohttp = 3.12.9, aiohttp-retry = 2.9.1),
        https (aiohttp = 3.12.9, aiohttp-retry = 2.9.1)
Config:
        Global: /home/azureuser/.config/dvc
        System: /etc/xdg/dvc
Cache types: hardlink, symlink
Cache directory: ext4 on /dev/sdb1
Caches: local
Remotes: azure
Workspace directory: ext4 on /dev/sdb1
Repo: dvc, git
Repo.site_cache_dir: /var/tmp/dvc/repo/b768008c2b5571c3ee69a22fa25dedc7

Please include full dvc version output (it is missing DVC version).

Please run it with -vv and show the output.

I can’t reproduce it on simple scenario, so it would be amazing if you can simplify and share the reproducible example. Thanks a lot!

dvc --version
3.59.2

Verbose output

dvc diff --targets data/yolo/internal/1/labels -vv
2025-08-14 00:54:15,234 DEBUG: v3.59.2 (pip), CPython 3.12.11 on Linux-6.8.0-1030-azure-x86_64-with-glibc2.35
2025-08-14 00:54:15,234 DEBUG: command: /path/to/project/.venv/bin/dvc diff --targets data/yolo/internal/1/labels -vv
2025-08-14 00:54:15,234 TRACE: Namespace(quiet=0, verbose=2, cprofile=False, cprofile_dump=None, yappi=False, yappi_separate_threads=False, viztracer=False, viztracer_depth=None, viztracer_async=False, pdb=False, instrument=False, instrument_open=False, show_stack=False, cd='.', cmd='diff', targets=['data/yolo/internal/1/labels'], a_rev='HEAD', b_rev=None, json=False, show_hash=False, markdown=False, hide_missing=False, func=<class 'dvc.commands.diff.CmdDiff'>, parser=DvcParser(prog='dvc', usage=None, description='Data Version Control', formatter_class=<class 'dvc.cli.formatter.RawTextHelpFormatter'>, conflict_handler='error', add_help=False))
2025-08-14 00:54:15,449 TRACE: switching fs to workspace              
2025-08-14 00:54:15,482 TRACE: params.yaml does not exist, it won't be used in parametrization
2025-08-14 00:54:15,483 TRACE: Context during resolution of stage prepare-gt:
{}
2025-08-14 00:54:15,484 TRACE: Context during resolution of stage annotate_openai:
{}
2025-08-14 00:54:15,485 TRACE: Context during resolution of stage evaluate:
{}
2025-08-14 00:54:15,486 TRACE: Context during resolution of stage review:
{}
2025-08-14 00:54:15,486 TRACE: Context during resolution of stage annotate_video_1_openai:
{}
2025-08-14 00:54:15,487 TRACE: Context during resolution of stage annotate_video_3_openai:
{}
2025-08-14 00:54:15,489 TRACE: Context during resolution of stage annotate_video_1_yolo:
{}
2025-08-14 00:54:15,490 TRACE: Context during resolution of stage annotate_video_3_yolo:
{}
2025-08-14 00:54:15,491 TRACE: Context during resolution of stage prep_yolo_images:
{}
2025-08-14 00:54:15,492 TRACE: Context during resolution of stage prep_yolo_labels:
{}
2025-08-14 00:54:15,493 TRACE: Context during resolution of stage sanity_check_yolo_data:
{}
2025-08-14 00:54:15,493 DEBUG: Lockfile 'dvc.lock' needs to be updated.
2025-08-14 00:54:15,493 TRACE: No lock entry found for 'dvc.yaml:sanity_check_yolo_data'
2025-08-14 00:54:15,494 TRACE: Context during resolution of stage train_yolo:
{}
2025-08-14 00:54:15,499 TRACE:    47.88 ms in collecting stages from /path/to/project
2025-08-14 00:54:15,499 TRACE:    51.47 mks in collecting stages from /path/to/project/tests
2025-08-14 00:54:15,499 TRACE:    53.48 mks in collecting stages from /path/to/project/tests/sanity
2025-08-14 00:54:15,499 TRACE:     3.83 mks in collecting stages from /path/to/project/tests/sanity/test_data
2025-08-14 00:54:15,499 TRACE:     2.61 mks in collecting stages from /path/to/project/sample_data
2025-08-14 00:54:15,501 TRACE:     1.38 ms in collecting stages from /path/to/project/model_weights
2025-08-14 00:54:15,503 TRACE:     1.76 ms in collecting stages from /path/to/project/data
2025-08-14 00:54:15,503 TRACE:   107.88 mks in collecting stages from /path/to/project/data/yolo
2025-08-14 00:54:15,504 TRACE:   771.47 mks in collecting stages from /path/to/project/data/yolo/external
2025-08-14 00:54:15,505 TRACE:   219.10 mks in collecting stages from /path/to/project/data/yolo/internal
2025-08-14 00:54:15,506 TRACE:   769.05 mks in collecting stages from /path/to/project/data/yolo/internal/1
2025-08-14 00:54:15,506 TRACE:     5.53 mks in collecting stages from /path/to/project/data/experiments
2025-08-14 00:54:15,507 TRACE:     1.37 ms in collecting stages from /path/to/project/video_eval
2025-08-14 00:54:15,508 TRACE:   667.95 mks in collecting stages from /path/to/project/video_eval/1_Yolo_bbox
2025-08-14 00:54:15,509 TRACE:   671.60 mks in collecting stages from /path/to/project/video_eval/3_Yolo_bbox
2025-08-14 00:54:15,509 TRACE:     3.55 mks in collecting stages from /path/to/project/video_eval/1_Yolo
2025-08-14 00:54:15,510 TRACE:   681.49 mks in collecting stages from /path/to/project/video_eval/1
2025-08-14 00:54:15,511 TRACE:   672.60 mks in collecting stages from /path/to/project/video_eval/3
2025-08-14 00:54:15,511 TRACE:     3.46 mks in collecting stages from /path/to/project/output
2025-08-14 00:54:15,511 TRACE:     2.48 mks in collecting stages from /path/to/project/.secrets
2025-08-14 00:54:15,512 TRACE:   378.73 mks in collecting stages from /path/to/project/.venv
2025-08-14 00:54:15,512 TRACE:    49.83 mks in collecting stages from /path/to/project/.project_yolo
2025-08-14 00:54:15,512 TRACE:    12.28 mks in collecting stages from /path/to/project/.project_yolo/yolo11x_bbox
2025-08-14 00:54:15,512 TRACE:    57.00 mks in collecting stages from /path/to/project/.cache
2025-08-14 00:54:15,512 TRACE:     2.53 mks in collecting stages from /path/to/project/.cache/annotations
2025-08-14 00:54:15,513 TRACE:   207.84 mks in collecting stages from /path/to/project/project
2025-08-14 00:54:15,513 TRACE:    54.93 mks in collecting stages from /path/to/project/project/annotation
2025-08-14 00:54:15,513 TRACE:     3.25 mks in collecting stages from /path/to/project/project/annotation/yolo
2025-08-14 00:54:15,513 TRACE:     3.10 mks in collecting stages from /path/to/project/project/telemetry
2025-08-14 00:54:15,514 TRACE:   101.20 mks in collecting stages from /path/to/project/project/ai
2025-08-14 00:54:15,514 TRACE:     3.27 mks in collecting stages from /path/to/project/project/ai/prompts
2025-08-14 00:54:15,514 TRACE:   105.20 mks in collecting stages from /path/to/project/project/ai/models
2025-08-14 00:54:15,514 TRACE:     4.22 mks in collecting stages from /path/to/project/project/ai/models/ultralytics
2025-08-14 00:54:15,514 TRACE:     2.53 mks in collecting stages from /path/to/project/project/ai/models/azure
2025-08-14 00:54:15,514 TRACE:     2.38 mks in collecting stages from /path/to/project/project/config
2025-08-14 00:54:15,515 TRACE:     2.87 mks in collecting stages from /path/to/project/project/schema
2025-08-14 00:54:15,515 TRACE:     2.27 mks in collecting stages from /path/to/project/.githooks
2025-08-14 00:54:15,515 TRACE:     4.50 mks in collecting stages from /path/to/project/experiments
2025-08-14 00:54:15,515 TRACE:     2.44 mks in collecting stages from /path/to/project/certs
2025-08-14 00:54:15,515 DEBUG: Checking if stage 'data/yolo/internal/1/labels' is in 'dvc.yaml'
2025-08-14 00:54:15,533 TRACE: params.yaml does not exist, it won't be used in parametrization
2025-08-14 00:54:16,193 TRACE: switching fs to revision d8d7957
2025-08-14 00:54:16,251 TRACE: params.yaml does not exist, it won't be used in parametrization
2025-08-14 00:54:16,252 TRACE: Context during resolution of stage prepare-gt:
{}
2025-08-14 00:54:16,252 TRACE: Context during resolution of stage annotate_openai:
{}
2025-08-14 00:54:16,254 TRACE: Context during resolution of stage evaluate:
{}
2025-08-14 00:54:16,255 TRACE: Context during resolution of stage review:
{}
2025-08-14 00:54:16,255 TRACE: Context during resolution of stage annotate_video_1_openai:
{}
2025-08-14 00:54:16,256 TRACE: Context during resolution of stage annotate_video_3_openai:
{}
2025-08-14 00:54:16,258 TRACE: Context during resolution of stage annotate_video_1_yolo:
{}
2025-08-14 00:54:16,259 TRACE: Context during resolution of stage annotate_video_3_yolo:
{}
2025-08-14 00:54:16,261 TRACE: Context during resolution of stage prep_yolo_images:
{}
2025-08-14 00:54:16,261 TRACE: Context during resolution of stage prep_yolo_labels:
{}
2025-08-14 00:54:16,262 TRACE: Context during resolution of stage sanity_check_yolo_data:
{}
2025-08-14 00:54:16,262 TRACE: No lock entry found for '../../../dvc.yaml:sanity_check_yolo_data'
2025-08-14 00:54:16,263 TRACE: Context during resolution of stage train_yolo:
{}
2025-08-14 00:54:16,266 TRACE:    67.36 ms in collecting stages from /
2025-08-14 00:54:16,266 TRACE:     4.04 mks in collecting stages from /.cache
2025-08-14 00:54:16,267 TRACE:     2.68 mks in collecting stages from /.cache/annotations
2025-08-14 00:54:16,267 TRACE:     2.72 mks in collecting stages from /.project_yolo
2025-08-14 00:54:16,267 TRACE:    11.94 mks in collecting stages from /.project_yolo/yolo11x_bbox
2025-08-14 00:54:16,267 TRACE:     3.05 mks in collecting stages from /.githooks
2025-08-14 00:54:16,267 TRACE:     2.62 mks in collecting stages from /.secrets
2025-08-14 00:54:16,268 TRACE:     2.63 mks in collecting stages from /certs
2025-08-14 00:54:16,270 TRACE:     2.30 ms in collecting stages from /data
2025-08-14 00:54:16,270 TRACE:     4.96 mks in collecting stages from /data/experiments
2025-08-14 00:54:16,270 TRACE:     3.05 mks in collecting stages from /data/yolo
2025-08-14 00:54:16,272 TRACE:     1.33 ms in collecting stages from /data/yolo/external
2025-08-14 00:54:16,272 TRACE:     2.80 mks in collecting stages from /data/yolo/internal
2025-08-14 00:54:16,273 TRACE:     1.06 ms in collecting stages from /data/yolo/internal/1
2025-08-14 00:54:16,274 TRACE:     7.19 mks in collecting stages from /project
2025-08-14 00:54:16,274 TRACE:     4.11 mks in collecting stages from /project/ai
2025-08-14 00:54:16,274 TRACE:     2.96 mks in collecting stages from /project/ai/models
2025-08-14 00:54:16,274 TRACE:     2.65 mks in collecting stages from /project/ai/models/azure
2025-08-14 00:54:16,274 TRACE:     4.44 mks in collecting stages from /project/ai/models/ultralytics
2025-08-14 00:54:16,275 TRACE:     3.36 mks in collecting stages from /project/ai/prompts
2025-08-14 00:54:16,275 TRACE:     4.79 mks in collecting stages from /project/annotation
2025-08-14 00:54:16,275 TRACE:     3.67 mks in collecting stages from /project/annotation/yolo
2025-08-14 00:54:16,275 TRACE:     2.60 mks in collecting stages from /project/config
2025-08-14 00:54:16,275 TRACE:     3.10 mks in collecting stages from /project/schema
2025-08-14 00:54:16,275 TRACE:     3.10 mks in collecting stages from /project/telemetry
2025-08-14 00:54:16,276 TRACE:     4.57 mks in collecting stages from /experiments
2025-08-14 00:54:16,278 TRACE:     2.23 ms in collecting stages from /model_weights
2025-08-14 00:54:16,278 TRACE:     3.58 mks in collecting stages from /output
2025-08-14 00:54:16,278 TRACE:     2.78 mks in collecting stages from /sample_data
2025-08-14 00:54:16,279 TRACE:     3.79 mks in collecting stages from /tests
2025-08-14 00:54:16,279 TRACE:     3.93 mks in collecting stages from /tests/sanity
2025-08-14 00:54:16,279 TRACE:     3.60 mks in collecting stages from /tests/sanity/test_data
2025-08-14 00:54:16,279 TRACE:     4.89 mks in collecting stages from /video_eval
2025-08-14 00:54:16,281 TRACE:     1.17 ms in collecting stages from /video_eval/1
2025-08-14 00:54:16,281 TRACE:     3.55 mks in collecting stages from /video_eval/1_Yolo
2025-08-14 00:54:16,282 TRACE:     1.00 ms in collecting stages from /video_eval/1_Yolo_bbox
2025-08-14 00:54:16,283 TRACE:     1.00 ms in collecting stages from /video_eval/3
2025-08-14 00:54:16,285 TRACE:     1.44 ms in collecting stages from /video_eval/3_Yolo_bbox
2025-08-14 00:54:16,285 DEBUG: Checking if stage 'data/yolo/internal/1/labels' is in 'dvc.yaml'
2025-08-14 00:54:16,304 TRACE: params.yaml does not exist, it won't be used in parametrization
2025-08-14 00:54:16,340 DEBUG: Analytics is disabled.
2025-08-14 00:54:16,340 TRACE: Process 16219 exiting with 0