Reputation: 691
I installed fish with homebrew on Mac OS Big Sur, Apple Silicon. Then I added /opt/homebrew/bin/fish
to /etc/shells
. When I now start fish from the default shell, it recognises all commands (like git flow init
).
After changing the default shell with chsh -s /opt/homebrew/bin/fish
, suddenly it won't recognise anything anymore and always gives a Unknown command
.
I haven't found anything regarding this issue and uninstalled fish and brew several times...
Upvotes: 69
Views: 34290
Reputation: 1402
In case anyone is still looking for answer here,
$ fish_add_path /opt/homebrew/bin/
$ source ~/.config/fish/config.fish
In short, after adding all the paths from /opt/homebrew/bin/
to fish, restart fish shell.
Worked for me in
OS: macOS 15.0
fish, version 3.7.1
Upvotes: 2
Reputation: 126
Hyomin's answer didn't work for me, so here's the workaround I resorted to (it's ugly but it works):
my_command_1
my_command_1
), run which my_command_1
. It will output e.g. /some/path/to/my_command_1
, then you should run fish_add_path /some/path/to
Notes:
fish_add_path
can be run a single time, future Fish sessions will remember the added paths. But if you prefer, you can also add this command to your ~/.config/fish/config.fish
file, as stated in the docs.Upvotes: 0
Reputation: 1461
Here are the steps I used to setup the fish shell on my M1 MacBook Air. Per the comments on the question, the key to solving the Unknown Command
issue is the fish_add_path
:
$ brew install fish
$ fish
$ fish_add_path /opt/homebrew/bin
$ echo "/opt/homebrew/bin/fish" | sudo tee -a /etc/shells
$ chsh -s /opt/homebrew/bin/fish
Upvotes: 134