Without changing the configuration my fish shell started to be really slow, like between 1 and 5 seconds to a simple ls command.

Note that the slow behaviour started suddenly. I have a local install and no admin rights.

I have no set -U var in my config files or other “add to path” problem that could give long (path) variables to process.

I know it is not much to proceed right now but I will add more information if I can.

I managed to pinned down that Oh My Fish is responsible by renaming ~/.config/fish/conf.d/omf.fish, but my ~/.local/share/omf directory contains so much that I need some leads to troubleshoot. I have the bobthefish theme.

The command omf doctor gives

Oh My Fish version:   7
OS type:              Linux
Fish version:         fish, version 3.1.0
Git version:          git version 2.25.1
Git core.autocrlf:    no
Checking for a sane environment...
Your shell is ready to swim.

Update: without changing anything everything went back to normal. I suspect a command in the prompt was temporarilly taking a long time and that the server was at fault, not Oh-My-Fish.

  • If you start fish with the fish_trace environment variable set to 1, it will print commands as they are run, so you can figure out which commands are slow. Commented Apr 1, 2023 at 20:50
  • Run top -c whenever a machine is slow for non-obvious reasons. iotop is also important (but needs root privs).
    – RonJohn
    Commented Apr 4, 2023 at 17:52

1 Answer 1


Turns out fish was not at fault, even if I don't know what was. I'm gessing a call in the prompt that is not on the vanilla prompt. I'll accept this answer after a while in case anyone has a better idea of what might have happened.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .