Captured from a real `junit-platform-console-standalone --details=tree` run against CsvSourceTest#testPublishingPermissionsDefaultDisplayName, compiled and executed for real. Same @CsvSource(useHeadersInDisplayName = true) data as testPublishingPermissions, but with no custom `name` attribute at all, to isolate what the flag does on its own. ╷ ├─ JUnit Platform Suite ✔ ├─ JUnit Jupiter ✔ │ └─ CsvSourceTest ✔ │ └─ testPublishingPermissionsDefaultDisplayName(int, String, boolean) ✔ │ └─ [1] USER_ID = "1001", ROLE = "EDITOR", CAN_PUBLISH = "true" ✔ └─ JUnit Vintage ✔ Test run finished after 228 ms [ 1 tests successful ] [ 0 tests failed ] With no custom name, useHeadersInDisplayName = true changes JUnit's own auto-generated default from the bare [1] "1001", "EDITOR", "true" you would otherwise get to the header-qualified [1] USER_ID = "1001", ROLE = "EDITOR", CAN_PUBLISH = "true" shown here. That is the documented, intended effect of the flag. The surprise in docs/output/04-csv-source-custom-name-with-headers.txt is that the exact same flag also changes what a *custom* name's positional placeholders resolve to, which is easy to miss if you only ever tested the flag against the default name.