Yeah, I though about this. The problem is that the username may change depending on where the CWD is.

So, we could cache the result related to the CWD, but that seemed like unnecessary optimisation to me.