The auto-loading of user.clj seems to be a "foot gun" that regularly catches people, based on threads on Slack (and elsewhere), so it seems like it would be nice to have some sort of option to disable it when running a Clojure process.
Just today, someone tested the add-lib feature of Clojure 1.12 Alpha 2 and it wasn't working because they had a user.clj that printed a message and the new invoke-tool API didn't like the extra output from user.clj that appeared.