function _-accept-line() {
[[ -z "${BUFFER" ]] || [[ "${BUFFER}" =~ "### ${(q)PWD}\$" ]] || BUFFER="${BUFFER} ### ${PWD}"
zle .accept-line
}
zle -N accept-line _-accept-line
Добавит ### ${PWD}
в вашу командную строку. Не лучшее решение, которое вы могли бы использовать, но оно работает.
UPD: Ответ основан на комментарии @Dennis Williamson:
function zshaddhistory() {
print -sr "${1%%$'\n'} ### ${PWD}"
fc -p
}