Have you tested what happens if `chruby_prompt_info` isn't empty? You are redirecting both stdout and stderr to null, and `[[ -n "" ]]` [checks if the string length is non-zero](http://zsh.sourceforge.net/Doc/Release/Conditional-Expressions.html), so that condition will always be false. You should be fine redirecting only stderr, but I haven't tested it: `2> /dev/null` instead of `&> /dev/null`.