I just want to be able to run it to see if the code in my working tree passes it, without actually attempting a commit.
Just run git commit. You don't have to add anything before doing this, hence in the end you get the message no changes added to commit.
Just run the pre-commit script through shell:
bash .git/hooks/pre-commit
There's a Python package for this available here. Per the usage documentation:
If you want to manually run all pre-commit hooks on a repository, run
pre-commit run --all-files. To run individual hooks usepre-commit run <hook_id>.
So pre-commit run --all-files is what the OP is after.