Git difftool --dir-diff ignores diff.submodule setting
05:35 08 May 2026

I have a repository with a lot of submodules that I'm having issues reviewing code for easily. I can't find a tool that shows me differences on all files, including files contained within submodules.

I have found that the command git diff --submodule=diff does what I want, but navigating across many files is not very practical. I have searched that git difftool exists and it should behave like git diff, but using it directly opens the diff for each individual file one at a time, which has the same navigation issues. From my searches, the ideal solution should be:

git difftool --dir-diff --submodule=diff

But --dir-diff seems to ignore the submodule file differences, for some reason. I could not find anything in the documentation that would indicate this, is this a bug?

I have checked the temp file directory git generated to confirm that the lack of diffs on the submodule files is not due to an issue of the tool itself.

Any tools or advice on making the situation easier to manage is appreciated. Thank you.

git diff git-difftool