Acabei usando precmd
Eu coloquei alias precmd 'source ~/.tcsh/precmd.tcsh'
no meu arquivo .cshrc e movi o meu conjunto de mensagens para esse arquivo.
Origem do .tcsh
set tmpstr = '(git status --untracked-files=no --porcelain >! ~/out ) >&! ~/out1'
#echo $tmpstr #for debugging
if !( -s ~/out ) then
if !( -s ~/out1 ) then
set gitstr = "Git: Clean"
set prompt="%{\e[35;1m%} \$gitstr %{\e[32;1m%}%n%{\e[37m%}@%{\e[33m%}%m%{\e[37m%}:%{\e[36m%}%~%{\e[37m%}"\$"%{\e[0m%} "
else
#echo "not in GIT"
set prompt="%{\e[35;1m%} %{\e[32;1m%}%n%{\e[37m%}@%{\e[33m%}%m%{\e[37m%}:%{\e[36m%}%~%{\e[37m%}"\$"%{\e[0m%} "
endif
else
set gitstr = "Git: Uncommitted GIT "
set prompt="%{\e[35;1m%} \$gitstr %{\e[32;1m%}%n%{\e[37m%}@%{\e[33m%}%m%{\e[37m%}:%{\e[36m%}%~%{\e[37m%}"\$"%{\e[0m%} "
endif
Isso me permitiu verificar quando estou em get e relatar o status de volta à linha cmd. Quando fora da pasta GIT, ele simplesmente não informa o status do GIT. As travessuras acontecendo no tmpstr é remover o stderror do konsole.