I've moved from bash to fish shell in iTerm2. However, whenever I start iTerm2, I receive the following error message:

A session ended very soon after starting. Check that the command in profile is correct.

After looking around, I realise that whenever I start iTerm2 for the first time, it creates two processes:

40776   ??  S      0:00.41 /Users/admin/Applications/iTerm.app/Contents/MacOS/iTerm2
40778 s000  Ss     0:00.03 /Users/admin/Applications/iTerm.app/Contents/MacOS/iTerm2 --server login -fp admin

The first process terminates when I quit iTerm2, but the second one remains. I have to manually kill it.

I don't have this problem with bash or even zsh. So, why does fish shell create an additional and hidden process, and how to stop it from doing so?

  • Insufficient data. Fish is not creating that process. iTerm is. The error that iTerm2 reports means the process it launched, presumably a fish login shell, exited very quickly. Did you run chsh -s /usr/local/bin/fish to set it as your login shell? Are you even able to start a iTerm2 instance? If you are is it running fish or something else (e.g., bash)? If something else what happens if you type fish -l? – Kurtis Rader Apr 20 '17 at 18:30

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.