fish-shell version history
11 releases tracked, newest first.
4.8.1
Jul 13, 2026- Fixed word operations with `alt` key on non-macOS platforms
- Added separate color variables for builtins and functions
- Fixed crashes and regressions from 4.8.0
- Added `fish_darcs_prompt` for Darcs repository status
1 download
4.8.0
Jun 24, 2026- Switched to Fluent for translating Rust messages, keeping gettext for fish scripts.
- Fixed history search issues and improved VCS prompt handling.
- Added `cd` options `-L` and `-P` for symlink resolution.
- Fixed several regressions including Vi mode key bindings and command execution issues.
1 download
4.7.1
May 7, 2026This release fixes a regression in 4.7.0 that caused the web config (`fish_config`) to fail to start ([#12717](https://github.com/fish-shell/fish-shell/issues/12717)).
---
Download links: To download the source code for fish, we suggest the file named `fish-4.7.1.tar.xz`. The file downloaded from `Source code (tar.gz)` will not build correctly. A GPG signature using [this key](https://github.com/krobelus.gpg) is available as `fish-4.7.1.tar.xz.asc`.
The files called `fish-4.7.1-linux-*.tar.xz` contain [standalone fish binaries](https://github.com/fish-shell/fish-shell/?tab=readme-ov-file#building-fish-with-cargo) for any Linux with the given CPU architecture.
1 download
4.7.0
May 6, 2026This release brings 198 new commits since 4.6.0, contributed by 21 authors, 12 of which are new faces.
### Deprecations and removed features
- The default theme (i.e. the `fish_color_*` variables) is no longer set in non-interactive shells.
### Interactive improvements
- [prompt_pwd](https://fishshell.com/docs/4.7/cmds/prompt_pwd.html) now strips control characters.
- Repaint events (as triggered by changes to color variables or by event handlers running `commandline -f repaint`) no longer reset the completion pager and other transient UI states ([#12683](https://github.com/fish-shell/fish-shell/issues/12683)).
- [`fish_color_valid_path`](https://fishshell.com/docs/4.7/interactive.html#envvar-fish_color_valid_path) now respects background and underline colors ([#12622](https://github.com/fish-shell/fish-shell/issues/12622)).
- [funced](https://fishshell.com/docs/4.7/cmds/funced.html) will no longer lose work if there are parse errors multiple times without new changes to the file.
- Fixed a case where directory completions were sorted in a surprising order ([#12695](https://github.com/fish-shell/fish-shell/issues/12695)).
- When at the command token, the `alt`-`o` binding will
1 download
4.6.0
Mar 28, 2026This release brings 100 new commits since 4.5.0, contributed by 27 authors, 15 of which are new committers.
### Notable improvements and fixes
- New Spanish translations ([#12489](https://github.com/fish-shell/fish-shell/issues/12489)).
- New Japanese translations ([#12499](https://github.com/fish-shell/fish-shell/issues/12499)).
### Deprecations and removed features
- The default width for emoji is switched from 1 to 2, improving the experience for users connecting to old systems from modern desktops. Users of old desktops who notice that lines containing emoji are misaligned can set `$fish_emoji_width` back to 1 ([#12562](https://github.com/fish-shell/fish-shell/issues/12562)).
### Interactive improvements
- The tab completion pager now left-justifies the description of each column ([#12546](https://github.com/fish-shell/fish-shell/issues/12546)).
- fish now supports the `SHELL_PROMPT_PREFIX`, `SHELL_PROMPT_SUFFIX`, and `SHELL_WELCOME` environment variables. The prefix and suffix are automatically prepended and appended to the left prompt, and the welcome message is displayed on startup after the greeting. These variables are set by systemd’s `run0` for exampl
1 download
4.5.0
Feb 17, 2026This is mostly a patch release for Vi mode regressions in 4.4.0 but other minor behavior changes are included as well.
This release comprises 68 commits since 4.4.0, contributed by 16 authors, 8 of which are new committers.
### Interactive improvements
- `ctrl`-`l` no longer cancels history search ([#12436](https://github.com/fish-shell/fish-shell/issues/12436)).
- History search cursor positioning now works correctly with characters of arbitrary width.
### Deprecations and removed features
- fish no longer reads the terminfo database to alter behaviour based on the `TERM` environment variable, and does not depend on ncurses or terminfo. The `ignore-terminfo` feature flag, introduced and enabled by default in fish 4.1, is now permanently enabled. fish may no longer work correctly on Data General Dasher D220 and Wyse WY-350 terminals, but should continue to work on all known terminal emulators released in the 21st century.
### Regression fixes:
- (from 4.4.0) Vi mode `d,f` key binding did not work ([#12417](https://github.com/fish-shell/fish-shell/issues/12417)).
- (from 4.4.0) Vi mode `c,w` key binding wrongly deleted trailing spaces ([#12443](https://github.
1 download
4.4.0
Feb 3, 2026This release comprises 215 commits since 4.3.3, contributed by 20 authors, 9 of which are new committers.
### Deprecations and removed features
- The default fossil prompt has been disabled ([#12342](https://github.com/fish-shell/fish-shell/issues/12342)).
### Interactive improvements
- The `bind` builtin lists mappings from all modes if `--mode` is not provided ([#12214](https://github.com/fish-shell/fish-shell/issues/12214)).
- Line-wise autosuggestions that don’t start a command are no longer shown (739b82c34db, 58e7a50de8a).
- Builtin `history` now assumes that `PAGER` supports ANSI color sequences.
- fish now clears the terminal’s `FLUSHO` flag when acquiring control of the terminal, to fix an issue caused by pressing `ctrl`-`o` on macOS ([#12304](https://github.com/fish-shell/fish-shell/issues/12304)).
### New or improved bindings
- Vi mode word movements (`w`, `W`, `e`, and `E`) are now largely in line with Vim. The only exception is that underscores are treated as word separators ([#12269](https://github.com/fish-shell/fish-shell/issues/12269)).
- New special input functions to support these movements: `forward-word-vi`, `kill-word-vi`, `forward-bigwor
1 download
4.3.3
Jan 7, 2026This release fixes the following problems identified in fish 4.3.0:
- Selecting a completion could insert only part of the token ([#12249](https://github.com/fish-shell/fish-shell/issues/12249)).
- Glitch with soft-wrapped autosuggestions and [fish_right_prompt](https://fishshell.com/docs/4.3/cmds/fish_right_prompt.html) ([#12255](https://github.com/fish-shell/fish-shell/issues/12255)).
- Spurious echo in tmux when typing a command really fast ([#12261](https://github.com/fish-shell/fish-shell/issues/12261)).
- `tomorrow` theme always using the light variant ([#12266](https://github.com/fish-shell/fish-shell/issues/12266)).
- `fish_config theme choose` sometimes not shadowing themes set by e.g. webconfig ([#12278](https://github.com/fish-shell/fish-shell/issues/12278)).
- The sample prompts and themes are correctly installed ([#12241](https://github.com/fish-shell/fish-shell/issues/12241)).
- Last line of command output could be hidden when missing newline ([#12246](https://github.com/fish-shell/fish-shell/issues/12246)).
Other improvements include:
- The `abbr`, `bind`, `complete`, `functions`, `history` and `type` commands now support a `--color` option to control syntax highl
1 download
4.3.2
Dec 30, 2025This release fixes the following problems identified in 4.3.0:
- Pre-built macOS packages failed to start due to a `Malformed Mach-O file` error ([#12224](https://github.com/fish-shell/fish-shell/issues/12224)).
- `extra_functionsdir` (usually `vendor_functions.d`) and friends were not used ([#12226](https://github.com/fish-shell/fish-shell/issues/12226)).
- Sample config file `~/.config/fish/config.fish/` and config directories `~/.config/fish/conf.d/`, `~/.config/fish/completions/` and `~/.config/fish/functions/` were recreated on every startup instead of only the first time fish runs on a system ([#12230](https://github.com/fish-shell/fish-shell/issues/12230)).
- Spurious echo of `^[[I` in some scenarios ([#12232](https://github.com/fish-shell/fish-shell/issues/12232)).
- Infinite prompt redraw loop on some prompts ([#12233](https://github.com/fish-shell/fish-shell/issues/12233)).
- The removal of pre-built HTML docs from tarballs revealed that cross compilation is broken because we use `${CMAKE_BINARY_DIR}/fish_indent` for building HTML docs. As a workaround, the new CMake build option `FISH_INDENT_FOR_BUILDING_DOCS` can be set to the path of a runnable `fish_indent` binary.
1 download
4.3.1
Dec 28, 2025This release fixes the following problem identified in 4.3.0:
- Possible crash after expanding an abbreviation ([#12223](https://github.com/fish-shell/fish-shell/issues/12223)).
---
Download links: To download the source code for fish, we suggest the file named `fish-4.3.1.tar.xz`. The file downloaded from `Source code (tar.gz)` will not build correctly. A GPG signature using [this key](https://github.com/krobelus.gpg) is available as `fish-4.3.1.tar.xz.asc`.
The files called `fish-4.3.1-linux-*.tar.xz` contain [standalone fish binaries](https://github.com/fish-shell/fish-shell/?tab=readme-ov-file#building-fish-with-cargo) for any Linux with the given CPU architecture.
1 download
4.3.0
Dec 28, 2025This release comprises 285 commits since 4.2.1, contributed by 27 authors, 15 of which are new committers.
### Deprecations and removed features
- fish no longer sets [universal variables](https://fishshell.com/docs/4.3/language.html#variables-universal) by default, which simplifies configuration. Specifically, the `fish_color_*`, `fish_pager_color_*` and `fish_key_bindings` variables are now set in the global scope by default. After upgrading to 4.3.0, fish will (once and never again) migrate these universals to globals set at startup in the `~/.config/fish/conf.d/fish_frozen_theme.fish` and `~/.config/fish/conf.d/fish_frozen_key_bindings.fish` files. We suggest that you delete those files and [set your theme](https://fishshell.com/docs/4.3/interactive.html#syntax-highlighting) in `~/.config/fish/config.fish`.
- You can still configure fish to propagate theme changes instantly; see [here](https://fishshell.com/docs/4.3/interactive.html#syntax-highlighting-instant-update) for an example.
- You can still opt into storing color variables in the universal scope via `fish_config theme save` though unlike `fish_config theme choose`, that does not support dynamic theme switch
1 download