I ran a quick test
squid.py $(find . -name '*.java' | head -n 480)
succeeded 481 failed
I went up a directory 16 characters long so removed 17 characters per result
../squid.py $(find . -name '*.java' | head -n 638)
succeeded and 639 failed
whatever is going on seems to be determined by the total size of all the arguments
so to test this I used the utility wc
find . -name '*.java' | head -n 480 | wc
find . -name '*.java' | head -n 481 | wc
in one directory down
find . -name '*.java' | head -n 638 | wc
find . -name '*.java' | head -n 639 | wc
results
$ find . -name '*.java' | head -n638 | wc
638 638 32665
$ find . -name '*.java' | head -n639 | wc
639 639 32705
$ cd ..
$ find . -name '*.java' | head -n480 | wc
480 480 33328
$ find . -name '*.java' | head -n481 | wc
481 481 33396
So it seems suspiciously close to 32K, as stated in other comments this is highly system dependent this was in git bash on windows 10