I use Emacs 27.0.50 on Ubuntu 18.04. Fish is my default shell.

When a file from a directory with .git is being loaded into the buffer, I'm trying to start projectile-find-file , I see the following error output:

(file-missing "Setting current directory" "No such file or directory" "/home/renefroger/[directory of file]/bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell

When I'm googling on this, I see the following issue which might be related to my issue: https://stackoverflow.com/questions/9471341/emacs-shell-command-outputting-cannot-set-terminal-process-group-and-no-job-c/9500684

But in my .emacs the following is already declared:

(set-variable 'shell-command-switch "-ic")

When I add the following in my .emacs

(setq shell-file-name "fish")

and restart Emacs, this makes no difference. I get the same error from Projectile. When I change the default shell for my user with chsh --shell /bin/sh renefroger, this makes no difference after restart.

So I'm not sure why Projectile still complains he can't interact with my Bash (I use Fish as my default shell, by the way). When looking into Projectile variables, I can't find any shell-related command/variable, and nobody in the Projectile Github repository seems to have this issue.

Perhaps anyone here knows how to tell projectile how to interact with my shell?

1 Answer 1


Seems I got it working again, after removing (set-variable 'shell-command-switch "-ic") in my .emacs. Not sure why I declared that variable some long time ago.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.