PatrickF1

PatrickF1/fzf.fish

Shell MIT Dev Tools

🔍🐟 Fzf plugin for Fish

2.7k stars
105 forks
recent
GitHub +8 / week

2.7k

Stars

105

Forks

1

Open issues

29

Contributors

v11.0 10 Mar 2026

AI Analysis

fzf.fish is a Fish shell plugin that integrates fzf (fuzzy finder) with mnemonic key bindings to interactively search files, git commits, command history, processes, and variables. It is purpose-built for Fish shell users who want efficient fuzzy-search capabilities integrated into their command line, and is not applicable to users of bash, zsh, or other shells.

Dev Tools CLI Tool Discovery value: 6/10
Documentation 9/10
Activity 9/10
Community 8/10
Code quality 5/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

fish-shell-plugin fuzzy-finder cli-tool command-line-productivity interactive-search
Actively maintained Well documented MIT licensed Niche/specialized use case Beginner friendly Production ready
Deep Analysis · Based on README and public signals
2w ago

Fish shell plugin that brings fzf-powered fuzzy search to command line, narrowly focused and actively maintained

fzf.fish is a plugin for the Fish shell that integrates fzf fuzzy finder via mnemonic key bindings (Ctrl+Alt+F for files, Ctrl+Alt+L for git log, etc.). It augments core Fish workflows with interactive search for files, git history, running processes, shell variables, and command history. Built specifically for Fish users who want a fluent, keybindings-first fuzzy search experience. Adoption appears concentrated within the Fish shell community rather than mainstream shell environments.

Origin

Created April 2020 as a Fish shell plugin wrapper around junegunn/fzf. Emerged during a period of growing interest in fuzzy-finder-augmented shells, but deliberately targets Fish exclusively rather than competing with bash/zsh-oriented alternatives like fzf-git.sh. The project represents practical packaging of fzf capabilities into Fish idioms rather than fundamental innovation.

Growth

Star count grew from zero to ~2,646 over ~6 years, suggesting steady but modest adoption. Recent activity (9 stars in 7 days as of June 2026) indicates continued interest but not explosive growth. Growth appears driven by Fish shell adoption among power users and the plugin ecosystem's maturation, rather than by converting users from other shells. The project maintains regular releases and active maintenance without dramatic velocity changes.

In production

Adoption not verified through explicit case studies or production deployment documentation. Evidence is indirect: 2,646 GitHub stars suggests meaningful uptake; Fisher dependency and plugin ecosystem maturity imply real users; README mentions wiki and documentation suggesting active community. However, no concrete data on deployment scale, company usage, or percentage of Fish shell user base. Adoption appears real but scope is unquantified.

Code analysis
Architecture

Based on README: plugin installs via Fisher (Fish package manager) and provides six search functions triggered by key bindings. Each function wraps fzf with shell-specific preview commands (bat for syntax highlighting, fd for file enumeration, ps for processes). Likely uses Fish function definitions and bindings rather than compiled code. Appears modular, with per-command configuration variables suggesting composable design.

Tests

Not documented in README. No mention of test suite, CI/CD pipeline details, or coverage metrics beyond 'build status badge' reference.

Maintenance

Last push 2026-06-19 (8 days before evaluation date), indicating active maintenance. Repository shows multiple releases and regular updates. References 'latest release badge' and 'build status badge' suggesting CI integration. No evidence of stagnation; slow-cadence maintenance is appropriate for a stable plugin serving a focused niche. Issue/PR activity not visible from metadata, but push frequency suggests responsive maintenance.

Honest verdict

ADOPT IF: you are a Fish shell user seeking a well-packaged, mnemonic key binding interface to fzf for file/git/history/process/variable search, and you want maintained, Fish-idiomatic integration. AVOID IF: you use bash, zsh, or other shells—this plugin does not port; you will need shell-specific alternatives. Also avoid if you prefer lightweight configuration over opinionated defaults. MONITOR IF: you are evaluating Fish shell tooling ecosystem maturity; fzf.fish demonstrates the ecosystem is stable enough to support specialized, quality plugins, though mainstream shell migration to Fish remains unlikely in the near term.

Independent dimensions

Mainstream potential

3/10

Technical importance

6/10

Adoption evidence

5/10

Risks
  • Adoption is Fish-shell-bound; as Fish remains a niche shell (~5-10% of developer base), the addressable market is capped. Growth depends on Fish shell adoption, which is not accelerating.
  • Plugin incompatibility explicitly documented (README warns users to uninstall other fzf plugins first). Switching costs or ecosystem lock-in may limit adoption for users with existing fzf setups.
  • Dependency on three external CLIs (fzf, fd, bat) creates a fragile chain; updates to these tools could introduce compatibility issues. README notes version minimums but does not document compatibility matrix.
  • Limited adoption data; no production case studies, company deployments, or scale metrics documented. Real-world usage extent is uncertain despite reasonable star count.
  • Maintenance is single-maintainer or small-team based on GitHub profile (not explicitly stated). Lack of documented succession plan or governance means project sustainability is dependent on personal maintainer commitment.
Prediction

fzf.fish will likely remain a stable, actively maintained plugin for Fish shell users, with slow, steady growth tracking Fish adoption. Unlikely to see explosive adoption or mainstream visibility because it is deliberately and appropriately scoped to a niche shell. Most probable outcome: continued slow-growth stability with periodic maintenance releases, serving its intended audience well without broader market penetration.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Shell
100%

Information

Language
Shell
License
MIT
Last updated
3w ago
Created
75mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

junegunn

junegunn/fzf

fzf is a general-purpose command-line fuzzy finder written in Go, distributed...

81.6k Go Dev Tools
jethrokuan

jethrokuan/z

z is a Fish shell port of the popular z directory-jumping utility that tracks...

1.5k Shell Dev Tools
oh-my-fish

oh-my-fish/oh-my-fish

Oh My Fish is a framework for the Fish shell that provides core infrastructure...

11.4k Shell Dev Tools
junegunn

junegunn/fzf-git.sh

fzf-git.sh provides fuzzy-finding key bindings for Git objects (branches,...

1.2k Shell Dev Tools
Aloxaf

Aloxaf/fzf-tab

fzf-tab replaces zsh's default completion menu with fzf, enabling...

4.8k Shell Dev Tools
vs. alternatives
junegunn/fzf

fzf is the underlying fuzzy finder library (81k stars). fzf.fish is a thin opinionated wrapper providing Fish-specific bindings and workflows; it does not replace or compete with fzf but rather adapts it. Users of other shells would use fzf directly or shell-specific plugins.

Aloxaf/fzf-tab

fzf-tab (4.8k stars) provides fzf-powered tab completion for zsh/bash. fzf.fish provides search commands via key bindings for Fish. These address overlapping but distinct niches (completion vs. command-line search) and target different shells.

junegunn/fzf-git.sh

fzf-git.sh (1.2k stars) is a bash/zsh script for git-aware fzf searches. fzf.fish includes git search as one of six functions alongside file/history/process/variable search. fzf.fish is broader in scope but limited to Fish; fzf-git.sh is narrower but portable to bash/zsh.

oh-my-fish/oh-my-fish

OMF (11k stars) is a Fish shell framework/plugin manager ecosystem. fzf.fish is a single plugin commonly installed via Fisher (the modern alternative to OMF). Not a direct competitor; fzf.fish could run under either framework.

jorgebucaran/fisher

Fisher (9.3k stars) is the plugin manager fzf.fish officially supports. Fisher is a dependency, not a competitor. fzf.fish is one of many plugins available through Fisher.