Disclaimer: This post is more like a list of notes rather than structured material.


To be honest, before using fishshell I only used bash and it satisfied my needs, but around ~6 months ago my friend suggested me to try fishshell instead and it was totally worth it. Below I’m going to list some pros and cons that I found for myself (some of them are pretty straightforward and obvious). Pros —-

  • Autosuggestions: they are based on your history and previous completions. Statistics on used commands is taken into consideration and fishshell makes the best choice.
  • Completions: press Tab and it will either complete single option or display a list
  • $PATH: enter set -U fish_user_paths /usr/local/bin $fish_user_paths to append /usr/local/bin. It will affect current and all future sessions
  • Documentation: anything can be found here
  • Configuration: mostly everything is OOTB, but if you do need to do some customizations there is an easy way just type fish_shell in shell and you’ll see config UI.


  • Autosuggestions: No way to disable them and is some rare cases they might be annoying.


I would definitely recommend to give it a try.

Start with brew install fish and visit fishshell to learn more.