I haven't investigated too deep into this, but I've figured out a few things. First of all, to reproduce the issue: - Install fish. - Run `guix build --check fish`, it should output something like #+BEGIN_SRC sh > guix build --check fish Building /gnu/store/g9ra27952ay2a7j3mn7yp13b7m18kl1b-fish-2.7.1.drv - x86_64-linux grafting '/gnu/store/vgrav12zra9zky21ahm4x1qg8g4v58fj-fish-2.7.1' -> '/gnu/store/avk637800w1n7z1z0hnzx80r0fpd6729-fish-2.7.1'... /gnu/store/avk637800w1n7z1z0hnzx80r0fpd6729-fish-2.7.1 #+END_SRC - The graft source is a dead GC item: #+BEGIN_SRC sh > guix gc --list-dead | grep vgrav12zra9zky21ahm4x1qg8g4v58fj /gnu/store/vgrav12zra9zky21ahm4x1qg8g4v58fj-fish-2.7.1 #+END_SRC Collect it: #+BEGIN_SRC sh guix gc --delete /gnu/store/vgrav12zra9zky21ahm4x1qg8g4v58fj-fish-2.7.1 #+END_SRC - Start fish: #+BEGIN_SRC sh > fish fish: echo $_ " "; __fish_pwd ^ in command substitution called on standard input ... #+END_SRC I think Ricardo got a hunch of what's happening, except that it's not about cache files in the user home's directory. Instead, Fish seems to record the path to the graft source. A grep in the fish folder does not seem to reveal anything, nor does `strings /gnu/store/...-fish.../bin/fish`. Could this be a grafting issue? Like what was recently mentioned about Racket? Otherwise, as Meiyo pointed out, the solution might lie in patching fish.cpp if grafting is not responsible for this. -- Pierre Neidhardt https://ambrevar.xyz/