Existem algumas maneiras de fazer isso. Você deve examinar as funções precmd e preexec . Eles estão na seção hook functions de zshmisc (que você pode ler on-line ou usando man zshmisc .
Uma solução simples seria ler esta questão unix.stackexchange.com , que diz para colocar isso no seu arquivo ~/.zshrc :
setopt prompt_subst
PROMPT='$TOKEN'
Isso fará o que você quiser:
┌─(simont@charmander:s000)─────────────────────────────────────▸▸▸▸▸▸▸▸▸▸─(~ )─┐
└─(12:44)── export GREETING="foo" ──(Wed,Dec12)─┘
foo ┌─(simont@charmander:s000)─────────────────────────────────▸▸▸▸▸▸▸▸▸▸─(~ )─┐
└─(12:44)── export GREETING="bar" ──(Wed,Dec12)─┘
bar ┌─(simont@charmander:s000)─────────────────────────────────▸▸▸▸▸▸▸▸▸▸─(~ )─┐
└─(12:44)──
(Isso atrapalha um pouco o meu prompt, mas você pode ver o foo e o bar sendo exibidos corretamente, atualizando quando $GREETING é alterado. No seu caso, use $TOKEN ).
Meu prompt pesadamente empresta o Prompt ZSH do Phil! , que eu achei muito útil quando aprendendo a personalizar o meu.