Latest commit 99702cf Feb 18, 2017 @jbucaran jbucaran committed on GitHub Emphasize fishfile.
Failed to load latest commit information.
.travis.yml Fix travis. Jan 4, 2017
LICENSE Create LICENSE May 27, 2016 Emphasize fishfile. Feb 18, 2017 Document how to install branches and tags Feb 15, 2017


Build Status Slack

A concurrent plugin manager for fish.

Translations: 日本語, 繁體中文, 简体中文, 한국어, Русский, Português, Türkçe, Español, Français, Català, Deutsch, فارسی.


curl -Lo ~/.config/fish/functions/ --create-dirs


Install a plugin.

fisher z

Install more plugins.

fisher fzf edc/bass omf/thefuck omf/theme-bobthefish

Install a specific branch.

fisher edc/bass:master

Install a specific tag.

fisher edc/bass@1.2.0

Install a gist.


Install a local plugin.

fisher ~/path/to/my_plugin

Edit your fishfile and run fisher to commit changes, e.g. install missing plugins.

$EDITOR ~/.config/fish/fishfile

Show everything you've installed.

fisher ls
@ my_plugin     # a local plugin
* bobthefish    # current theme

Show everything available to install.

fisher ls-remote

Show additional information about plugins:

fisher ls-remote --format="%name(%stars): %info [%url]\n"

Update everything.

fisher up

Update specific plugins.

fisher up bass z fzf

Remove plugins.

fisher rm thefuck

Remove all the plugins.

fisher ls | fisher rm

Get help.

fisher help z


Is fisherman compatible with oh-my-fish themes and plugins?


Where does fisherman put stuff?

The configuration and cache are saved to ~/.config/fisherman and ~/.cache/fisherman respectively.

The fishfile and plugins are saved to ~/.config/fish by default.

To customize this location:

set -U fish_path ~/my/path

What is a fishfile and how do I use it?

The fishfile lists what you've installed, and it's automatically updated as you install / remove plugins.

You can edit this file and run fisher to install missing plugins and dependencies.

What is a plugin?

A plugin is:

  1. a directory with one or more .fish functions at the root level of the project or inside a functions/ directory

  2. a theme or prompt: a and/or

  3. a snippet: one or more .fish files inside a conf.d/ directory, run by fish at the start of the session

How can I list plugins as dependencies to my plugin?

Create a new fishfile at the root level of your project and write the plugin URL like so

Why am I receiving errors when running fisher ls-remote?

You can export the GITHUB_USER and GITHUB_TOKEN environment variables in your shell, to prevent GitHub's search API from rejecting anonymous requests:

set -x GITHUB_USER your_username
set -x GITHUB_TOKEN your_github_api_token_for_fisherman