Fish Shell Release Notes

Follow

16 release notes curated from 1 source by the Releasebot Team. Last updated: Jul 14, 2026

Get this feed:
  • Jul 14, 2026
    • Date parsed from source:
      Jul 14, 2026
    • First seen by Releasebot:
      Jul 14, 2026
    Fish Shell logo

    Fish Shell

    fish 4.8.1 (released July 14, 2026)

    Fish Shell improves interactive editing and prompts with consistent word-based Alt shortcuts on non-macOS, separate colors for builtins and functions, new Darcs prompt support, and crash and regression fixes. It also restores Konsole prompt marking via an opt-in workaround.

    Interactive improvements

    • On non-macOS platforms, alt-backspace, alt-delete, alt-left and alt-right operate on words again instead of tokens (#12122) eliminating cross-platform differences in input handling.
    • Builtin and function commands can now be colored separately via new variables $fish_color_builtin and $fish_color_function (#12837).
    • Add fish_darcs_prompt for Darcs repository status.
    • Fixed a crash in commandline --current-process when the cursor is inside a &| pipe (#12868).
    • Since prompt marking (via OSC 133) causes an issue in Konsole’s default configuration, prompt marking had been disabled for Konsole in 4.8.0. Now the omit-term-workarounds feature flag can be enabled to enable prompt marking on Konsole again (#12859).

    Regression fixes

    • (From 4.8.0) abbr --position=anywhere completions are no longer offered in argument position, to avoid cluttering the completion pager (#12838).
    • (From 4.8.0) pacman -Q short option completions (#12857).
    Original source
  • Jun 24, 2026
    • Date parsed from source:
      Jun 24, 2026
    • First seen by Releasebot:
      Jun 24, 2026
    Fish Shell logo

    Fish Shell

    fish 4.8.0 (released June 24, 2026)

    Fish Shell ships a broad round of improvements and fixes, including Fluent-based translation tooling, smarter history and completion behavior, better cd and bind scripting support, cleaner prompt handling, and several vi mode and regression fixes for a smoother shell experience.

    Notable improvements and fixes

    • Translatable messages defined in Rust source code can and should now be translated using Fluent instead of GNU gettext. To make Fluent easy to work with, we have added tooling based on the new fluent-ftl-tools library. See Contributing Translations (#11928).

    Deprecations and removed features

    • Builtin complete’s --command and --path options no longer unescape their argument.

    Interactive improvements

    • History search would sometimes forget about commands after those were re-run in concurrent sessions. This has been fixed (#10300).
    • fish_hg_prompt, fish_git_prompt, and fish_fossil_prompt now strip control characters from VCS state read off disk, matching prompt_pwd.
    • Abbreviations with --position=anywhere can now be completed in argument position, not just in command position (#12630).
    • Path component movement (ctrl-w) skips escaped characters.
    • Completion of short option groups will now handle --condition correctly (#12821).
    • Fixed an issue where ctrl-c might fail to cancel certain functions (#12802).
    • On the first run after upgrading from an older version, fish will try harder to check if the current theme matches a historical default. If it does match, fish won’t create ~/.config/fish/conf.d/fish_frozen_theme.fish when upgrading from fish < 4.3. In particular, on systems where fish version 3.x was installed originally, fish will now avoid creating that file on upgrade (#12725).

    Scripting improvements

    • cd supports the -L and -P options, like other shells, to allow specifying whether symbolic links (symlinks) are resolved when changing directories (#7206).
    • cd with a relative path will now retry using the real current directory, if $PWD has been moved (#12700).
    • Nested brace expansions now strip unquoted leading and trailing spaces from entries consistently (#12794).
    • bind shows the files where bindings were defined (#12504).

    Other improvements

    • fish no longer creates the __fish_initialized universal variable on startup. If you don’t expect to need to downgrade to earlier versions, you can remove it with set --erase __fish_initialized. This means that fish now only creates universal variables if instructed by the user.

    For distributors and developers

    • With the exception of the $CMAKE_INSTALL_PREFIX/share/fish/man directory, fish no longer installs files to $CMAKE_INSTALL_PREFIX/share/fish. In particular, this means that both $CMAKE_INSTALL_PREFIX/share/fish/completions and $CMAKE_INSTALL_PREFIX/share/fish/functions should no longer exist. These directories have been ignored since fish 4.2. If another package installs fish scripts there, they should be corrected to install to extra_completionsdir (typically $CMAKE_INSTALL_PREFIX/share/fish/vendor_completions.d), extra_functionsdir (typically $CMAKE_INSTALL_PREFIX/share/fish/vendor_functions.d) or extra_confdir (typically $CMAKE_INSTALL_PREFIX/share/fish/vendor_functions.d) instead. See also the output of for var in completions functions conf; pkgconf fish --variable="$var"dir; end.

    Regression fixes:

    • (from 4.4.0) Vi mode c,W key binding wrongly deleted trailing spaces (#12790).
    • (from 4.4.0) Vi mode c,x in builtin read (#12724).
    • (from 4.3.3) Repeated tab would sometimes insert smartcase completions redundantly.
    • (from 4.3.0) Pressing escape during command execution could insert garbage text into the command line (#12379).
    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from Fish Shell and hundreds of other software products.

    Create account
  • May 8, 2026
    • Date parsed from source:
      May 8, 2026
    • First seen by Releasebot:
      May 9, 2026
    Fish Shell logo

    Fish Shell

    fish 4.7.1 (released May 08, 2026)

    Fish Shell fixes a regression that prevented fish_config web config from starting.

    This release fixes a regression in 4.7.0 that caused the web config (fish_config) to fail to start (#12717).

    Original source
  • May 5, 2026
    • Date parsed from source:
      May 5, 2026
    • First seen by Releasebot:
      Jun 24, 2026
    Fish Shell logo

    Fish Shell

    fish 4.7.0 (released May 05, 2026)

    Fish Shell improves shell usability with cleaner prompts, smarter completions, steadier history handling, and better config and file path support. This release also fixes several long-standing regressions and refines error messages and developer tooling.

    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 now strips control characters.

    Repaint events no longer reset the completion pager and other transient UI states (#12683).

    fish_color_valid_path now respects background and underline colors (#12622).

    funced 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).

    When at the command token, the alt-o binding will now open read-only files too (#12671).

    Private mode in-memory history (set fish_history) is no longer shared with builtin read (#12662).

    Other improvements

    History is no longer corrupted with NUL bytes when fish receives SIGTERM or SIGHUP (#10300).

    fish_update_completions now handles groff \X'...' device control escapes, fixing completion generation for man pages produced by help2man 1.50 and later (such as coreutils 9.10).

    Removing history entries via the web-based config is more intuitive.

    If XDG_DATA_DIRS is empty, the default value is assumed, which means that fish will now also use configuration from paths like $PREFIX/share/fish/vendor_completions.d (#11349).

    Some internal file descriptors were moved to number 10 or higher, to reduce risk of clashes with those used by the user in scripts.

    The wording of error messages has been made consistent, especially for builtin subcommands (#12556).

    For distributors and developers

    When the default global config directory ($PREFIX/etc/fish) exists but has been overridden via -DCMAKE_INSTALL_SYSCONFDIR, fish will now respect that override (#10748).

    build_tools/update_translations.fish has been replaced by cargo xtask gettext {check,new,update} (#12676).

    cargo xtask shellcheck to lint shell-scripts.

    Regression fixes

    • (from 4.6) Vi mode dl (#12461).

    • (from 4.6) Backspace after newline (#12583).

    • (from 4.3.3) Long options were spuriously completed after typing short options (85e76ba3561).

    • (from 3.2) nosuchcommand || echo hello executes the right hand side again (#12654).

    Original source
  • May 5, 2026
    • Date parsed from source:
      May 5, 2026
    • First seen by Releasebot:
      May 6, 2026
    Fish Shell logo

    Fish Shell

    fish 4.7.0 (released May 05, 2026)

    Fish Shell releases a maintenance update with cleaner interactive behavior, safer history handling, improved completions, and several regression fixes. It also tightens default theme handling in non-interactive shells and brings clearer messages plus developer and distributor updates.

    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 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).
    • fish_color_valid_path now respects background and underline colors (#12622).
    • funced 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).
    • When at the command token, the alt-o binding will now open read-only files too (#12671).
    • Private mode in-memory history (set fish_history) is no longer shared with builtin read (#12662).

    Other improvements

    • History is no longer corrupted with NUL bytes when fish receives SIGTERM or SIGHUP (#10300).
    • fish_update_completions now handles groff \X'...' device control escapes, fixing completion generation for man pages produced by help2man 1.50 and later (such as coreutils 9.10).
    • Removing history entries via the web-based config is more intuitive.
    • If XDG_DATA_DIRS is empty, the default value is assumed, which means that fish will now also use configuration from paths like $PREFIX/share/fish/vendor_completions.d (#11349).
    • Some internal file descriptors were moved to number 10 or higher, to reduce risk of clashes with those used by the user in scripts.
    • The wording of error messages has been made consistent, especially for builtin subcommands (#12556).

    For distributors and developers

    • When the default global config directory ($PREFIX/etc/fish) exists but has been overridden via -DCMAKE_INSTALL_SYSCONFDIR, fish will now respect that override (#10748).
    • build_tools/update_translations.fish has been replaced by cargo xtask gettext {check,new,update} (#12676).
    • cargo xtask shellcheck to lint shell-scripts.

    Regression fixes

    • (from 4.6) Vi mode dl (#12461).
    • (from 4.6) Backspace after newline (#12583).
    • (from 4.3.3) Long options were spuriously completed after typing short options (85e76ba3561).
    • (from 3.2) nosuchcommand || echo hello executes the right hand side again (#12654).
    Original source
  • Similar to Fish Shell with recent updates:

  • Mar 28, 2026
    • Date parsed from source:
      Mar 28, 2026
    • First seen by Releasebot:
      Jun 24, 2026
    Fish Shell logo

    Fish Shell

    fish 4.6.0 (released March 28, 2026)

    Fish Shell releases usability and compatibility improvements, including new Spanish and Japanese translations, better tab completion, expanded prompt environment variable support, enhanced terminal color controls, and several fixes for crashes, prompt redraws, and regression issues.

    Notable improvements and fixes

    • New Spanish translations (#12489).
    • New Japanese translations (#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).

    Interactive improvements

    • The tab completion pager now left-justifies the description of each column (#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 example (#10924).

    Improved terminal support

    • set_color is able to turn off italics, reverse mode, strikethrough and underline individually (e.g. --italics=off).
    • set_color learned the foreground (--foreground or -f) and reset (--reset) options.
    • An error caused by slow terminal responses at macOS startup has been addressed (#12571).

    Other improvements

    • Signals like SIGWINCH (as sent on terminal resize) no longer interrupt builtin output (#12496).
    • For compatibility with Bash, fish now accepts |& as alternate spelling of &|, for piping both standard output and standard error (#11516).
    • fish_indent now preserves comments and newlines immediately preceding a brace block ({
      }) (#12505).
    • A crash when suspending certain pipelines with ctrl-z has been fixed (#12301).

    For distributors and developers

    • cargo xtask subcommands no longer panic on test failures.

    Regression fixes:

    • (from 4.5.0) Intermediate artifact when redrawing prompt (#12476).
    • (from 4.4.0) history honors explicitly specified --color= again (#12512).
    • (from 4.4.0) Vi mode dl and dh (#12461).
    • (from 4.3.0) Error completing of commands starting with - (#12522).
    Original source
  • Mar 28, 2026
    • Date parsed from source:
      Mar 28, 2026
    • First seen by Releasebot:
      Mar 28, 2026
    Fish Shell logo

    Fish Shell

    fish 4.6.0 (released March 28, 2026)

    Fish Shell releases improved translations, smarter prompt and terminal support, and a raft of fixes. It now supports new prompt environment variables, better emoji width handling, refined color controls, Bash-style |& piping, and stability fixes for completion, redrawing, and suspending pipelines.

    Notable improvements and fixes

    • New Spanish translations (#12489).
    • New Japanese translations (#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).

    Interactive improvements

    • The tab completion pager now left-justifies the description of each column (#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 example (#10924).

    Improved terminal support

    • set_color is able to turn off italics, reverse mode, strikethrough and underline individually (e.g. --italics=off).
    • set_color learned the foreground (--foreground or -f) and reset (--reset) options.
    • An error caused by slow terminal responses at macOS startup has been addressed (#12571).

    Other improvements

    • Signals like SIGWINCH (as sent on terminal resize) no longer interrupt builtin output (#12496).
    • For compatibility with Bash, fish now accepts |& as alternate spelling of &|, for piping both standard output and standard error (#11516).
    • fish_indent now preserves comments and newlines immediately preceding a brace block ({ ... }) (#12505).
    • A crash when suspending certain pipelines with ctrl-z has been fixed (#12301).

    For distributors and developers

    • cargo xtask subcommands no longer panic on test failures.

    Regression fixes

    • (from 4.5.0) Intermediate ⏎ artifact when redrawing prompt (#12476).
    • (from 4.4.0) history honors explicitly specified --color= again (#12512).
    • (from 4.4.0) Vi mode dl and dh (#12461).
    • (from 4.3.0) Error completing of commands starting with - (#12522).
    Original source
  • Feb 17, 2026
    • Date parsed from source:
      Feb 17, 2026
    • First seen by Releasebot:
      Feb 17, 2026
    Fish Shell logo

    Fish Shell

    fish 4.5.0 (released February 17, 2026)

    Patch release for Vi mode regressions in 4.4.0 adds interactive improvements, fixes history search and cursor behavior, and resolves several Vi mode issues. It also deprecates terminfo reliance and permanently enables ignore-terminfo, with terminal compatibility notes.

    Interactive improvements

    • ctrl-l no longer cancels history search (#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).
    • (from 4.4.0) Vi mode c,w key binding wrongly deleted trailing spaces (#12443).
    • (from 4.4.0) Vi mode crash on c,i,w after accepting autosuggestion (#12430).
    • (from 4.4.0) fish_vi_key_bindings called with a mode argument produced an error (#12413).
    • (from 4.0.0) Build on Illumos (#12410).
    Original source
  • Feb 3, 2026
    • Date parsed from source:
      Feb 3, 2026
    • First seen by Releasebot:
      Jun 24, 2026
    Fish Shell logo

    Fish Shell

    fish 4.4.0 (released February 03, 2026)

    Fish Shell releases interactive and vi-mode improvements, clearer history and autosuggestions, new catppuccin color themes, strikethrough support in set_color, and fixes for terminal control and recent regressions. It also removes the default fossil prompt and updates some developer workflows.

    Deprecations and removed features

    The default fossil prompt has been disabled (#12342).

    Interactive improvements

    The bind builtin lists mappings from all modes if --mode is not provided (#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).

    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).

    New special input functions to support these movements: forward-word-vi, kill-word-vi, forward-bigword-vi, kill-bigword-vi, forward-word-end, backward-word-end, forward-bigword-end, backward-bigword-end, kill-a-word, kill-inner-word, kill-a-bigword, and kill-inner-bigword.

    Vi mode key bindings now support counts for movement and deletion commands (e.g. d3w or 3l), via a new operator mode (#2192).

    New catppuccin-* color themes.

    Improved terminal support

    set_color learned the strikethrough (--strikethrough or -s) modifier.

    For distributors and developers

    The CMake option WITH_GETTEXT has been renamed to WITH_MESSAGE_LOCALIZATION, to reflect that it toggles localization independently of the backend used in the implementation.

    New cargo xtask commands can replace some CMake workflows.

    Regression fixes

    • (from 4.1.0) Crash when autosuggesting Unicode characters with nontrivial lowercase mapping (#12326, 78f4541116e).
    • (from 4.3.0) Glitch on read --prompt-str "" (#12296).
    Original source
  • Feb 3, 2026
    • Date parsed from source:
      Feb 3, 2026
    • First seen by Releasebot:
      Feb 5, 2026
    Fish Shell logo

    Fish Shell

    fish 4.4.0 (released February 03, 2026)

    This release brings interactive improvements and stronger vi-like bindings, new color themes, and refined terminal behavior. It adds deprecations, enhanced autosuggestions, and regression fixes, plus developer workflow tweaks for localization and xtask.

    Deprecations and removed features

    • The default fossil prompt has been disabled (#12342).

    Interactive improvements

    • The bind builtin lists mappings from all modes if --mode is not provided (#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).

    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).
    • New special input functions to support these movements: forward-word-vi, kill-word-vi, forward-bigword-vi, kill-bigword-vi, forward-word-end, backward-word-end, forward-bigword-end, backward-bigword-end, kill-a-word, kill-inner-word, kill-a-bigword, and kill-inner-bigword.
    • Vi mode key bindings now support counts for movement and deletion commands (e.g. d3w or 3l), via a new operator mode (#2192).
    • New catpuccin-* color themes.

    Improved terminal support

    • set_color learned the strikethrough (--strikethrough or -s) modifier.

    For distributors and developers

    • The CMake option WITH_GETTEXT has been renamed to WITH_MESSAGE_LOCALIZATION, to reflect that it toggles localization independently of the backend used in the implementation.
    • New cargo xtask commands can replace some CMake workflows.

    Regression fixes:

    • (from 4.1.0) Crash when autosuggesting Unicode characters with nontrivial lowercase mapping (#12326, 78f4541116e).
    • (from 4.3.0) Glitch on read --prompt-str "" (#12296).
    Original source
  • Jan 7, 2026
    • Date parsed from source:
      Jan 7, 2026
    • First seen by Releasebot:
      Feb 5, 2026
    Fish Shell logo

    Fish Shell

    fish 4.3.3 (released January 07, 2026)

    Fish 4.3.0 ships fixes for partial token insertion, autosuggest glitches, tmux echo issues, and theme quirks plus improved sample prompts. It also adds a --color option for abbr, bind, complete, functions, history and type commands and highlights clobbered paths in redirection.

    Release notes

    This release fixes the following problems identified in fish 4.3.0:

    • Selecting a completion could insert only part of the token (#12249).
    • Glitch with soft-wrapped autosuggestions and fish_right_prompt (#12255).
    • Spurious echo in tmux when typing a command really fast (#12261).
    • tomorrow theme always using the light variant (#12266).
    • fish_config theme choose sometimes not shadowing themes set by e.g. webconfig (#12278).
    • The sample prompts and themes are correctly installed (#12241).
    • Last line of command output could be hidden when missing newline (#12246).

    Other improvements include:

    • The abbr, bind, complete, functions, history and type commands now support a --color option to control syntax highlighting in their output. Valid values are auto (default), always, or never.
    • Existing file paths in redirection targets such as > file.txt are now highlighted using $fish_color_valid_path, indicating that file.txt will be clobbered (#12260).
    Original source
  • Dec 30, 2025
    • Date parsed from source:
      Dec 30, 2025
    • First seen by Releasebot:
      Feb 5, 2026
    Fish Shell logo

    Fish Shell

    fish 4.3.2 (released December 30, 2025)

    This release fixes startup and config issues from 4.3.0, including broken macOS packages, unused dirs, configs recreated each boot, stray ^[[I echoes, and prompt redraw loops. It adds a cross‑compile workaround using FISH_INDENT_FOR_BUILDING_DOCS.

    Release fixes identified in 4.3.0

    • Pre-built macOS packages failed to start due to a Malformed Mach-O file error (#12224).
    • extra_functionsdir (usually vendor_functions.d) and friends were not used (#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).
    • Spurious echo of ^[[I in some scenarios (#12232).
    • Infinite prompt redraw loop on some prompts (#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.
    Original source
  • Dec 28, 2025
    • Date parsed from source:
      Dec 28, 2025
    • First seen by Releasebot:
      Feb 5, 2026
    Fish Shell logo

    Fish Shell

    fish 4.3.1 (released December 28, 2025)

    Release notes

    This release fixes the following problem identified in 4.3.0:

    • Possible crash after expanding an abbreviation (#12223).
    Original source
  • Dec 28, 2025
    • Date parsed from source:
      Dec 28, 2025
    • First seen by Releasebot:
      Feb 5, 2026
    Fish Shell logo

    Fish Shell

    fish 4.3.0 (released December 28, 2025)

    Fish 4.3.0 adds migration of color variables to startup globals, a new status language command, improved completions and bindings, and broader terminal/OS support. Packaging changes streamline docs and tools for distributors.

    Deprecations and removed features

    • fish no longer sets user-facing universal variables by default, making the configuration easier to understand. 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 in ~/.config/fish/config.fish.
      • You can still configure fish to propagate theme changes instantly; see here 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, it does not support dynamic theme switching based on the terminal’s color theme (see below).

    Scripting improvements

    • New status language command allows showing and modifying language settings for fish messages without having to modify environment variables.
    • When using a noninteractive fish instance to compute completions, commandline --cursor works as expected instead of throwing an error (#11993).
    • $fish_trace fish_trace can now be set to all to also trace execution of key bindings, event handlers as well as prompt and title functions.

    Interactive improvements

    • When typing immediately after starting fish, the first prompt is now rendered correctly.
    • Completion accuracy was improved for file paths containing = or : (#5363).
    • Prefix-matching completions are now shown even if they don’t match the case typed by the user (#7944).
    • On Cygwin/MSYS, command name completion will favor the non-exe name (foo) unless the user started typing the extension.
    • When using the exe name (foo.exe), fish will use the description and completions for foo if there are none for foo.exe.
    • Autosuggestions now also show soft-wrapped portions (#12045).

    New or improved bindings

    • ctrl-w (backward-kill-path-component) also deletes escaped spaces (#2016).
    • New special input functions backward-path-component, forward-path-component, and kill-path-component (#12127).

    Improved terminal support

    • Themes can now be made color-theme-aware by including both [light] and [dark] sections in the theme file. Some default themes have been made color-theme-aware, meaning they dynamically adjust as your terminal’s background color switches between light and dark colors (#11580).
    • The working directory is now reported on every fresh prompt (via OSC 7), fixing scenarios where a child process (like ssh) left behind a stale working directory (#12191).
    • OSC 133 prompt markers now also mark the prompt end, which improves shell integration with terminals like iTerm2 (#11837).
    • Operating-system-specific key bindings are now decided based on the terminal’s host OS.
    • New feature flag omit-term-workarounds can be turned on to prevent fish from trying to work around some incompatible terminals.

    For distributors and developers

    • Tarballs no longer contain prebuilt documentation, so building and installing documentation requires Sphinx. To avoid users accidentally losing docs, the BUILD_DOCS and INSTALL_DOCS configuration options have been replaced with a new WITH_DOCS option.
    • fish_key_reader and fish_indent are now installed as hardlinks to fish, to save some space.

    Regression fixes:

    • (from 4.1.0) Crash on incorrectly-set color variables (#12078).
    • (from 4.1.0) Crash when autosuggesting Unicode characters with nontrivial lowercase mapping.
    • (from 4.2.0) Incorrect emoji width computation on macOS.
    • (from 4.2.0) Mouse clicks and ctrl-l edge cases in multiline command lines (#12121).
    • (from 4.2.0) Completions for Git remote names on some non-glibc systems.
    • (from 4.2.0) Expansion of ~$USER.
    Original source
  • Nov 13, 2025
    • Date parsed from source:
      Nov 13, 2025
    • First seen by Releasebot:
      Feb 5, 2026
    Fish Shell logo

    Fish Shell

    fish 4.2.1 (released November 13, 2025)

    This release fixes the following problems identified in 4.2.0:

    • When building from a tarball without Sphinx (that is, with -DBUILD_DOCS=OFF or when sphinx-build is not found), builtin man pages and help files were missing, which has been fixed (#12052).

    • fish_config’s theme selector (the “colors” tab) was broken, which has been fixed (#12053).

    Original source
Releasebot

Curated by the Releasebot team

Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.

Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.