On Monday, September 28, 2020, 03:36:17 AM GMT+1, Bart Schaefer <schaefer@brasslantern.com> wrote:

>Something else funny is happening here.  This is defining /bin/ls as a
>function with body "echo foo", as if the "|" were not present in the
>command at all.
>
>Try using "set -x" (or "setopt xtrace" if you prefer) before the first
>attempt to pipe.

After spending some time fiddling with my ~/.zshrc config file I found the culprit:

eval "$(fasd --init zsh-hook)"

I've submitted a bug report to the fasd repo: https://github.com/clvv/fasd/issues/156