1. Overview

Fish shell, known for it’s user-friendly features and robust scripting capabilities, usually greets users with a welcome message when they start a new terminal session. While this greeting can be useful for new users, some may find it distracting or unneeded. Fortunately, Fish provides numerous techniques for disabling this greeting message, thereby allowing users to tailor their shell environment to their comfort.

In this tutorial, we’ll look at different ways to disable the greeting message in the Fish shell.

2. Editing the config.fish File

The config.fish file is an essential component in customizing the Fish shell environment. It allows us to specify a variety of settings and configurations. To open the file, we can utilize the Nano text editor:

$ nano ~/.config/fish/config.fish

We’ll now look at various ways we can edit this file in order to disable the greeting message.

2.1. Erasing the fish_greeting Variable

A great way to eliminate the greeting message in the Fish shell is by erasing the fish_greeting variable, thereby deleting any previously defined welcome message:

set --erase fish_greeting

In this example, we instruct Fish Shell to clear the value of the fish_greeting variable. This is achieved by adding the first line to the configuration file. As a result, any previously configured greeting messages will be disabled. The above instruction essentially disables the greeting by removing any previously defined welcome message.

Those of us who would rather manage their Fish shell setup through the command-line rather than graphical interfaces would find this way especially helpful. It’s a simple method that requires little work and yields rapid results.

2.2. Setting the fish_greeting Variable

Modifying the fish_greeting variable in the config file enables us to personalize or turn off the welcome message in the Fish shell. We can easily set the variable in the Fish config file:

set fish_greeting

In this example, we set the fish_greeting variable to an empty string, thereby removing the greeting message.

This method is suitable for those who are acquainted with manipulating configuration files and prefer a more manual approach to customization. It also gives a clear grasp of how Fish shell configuration works, making it easier to troubleshoot and change settings in the future.

2.3. Using Functions to Personalize the Greeting Message

We can add functions to our Fish configuration file that allow us to dynamically change the greeting message for more sophisticated personalization. We can customize the greeting using this way according to several parameters like the time of day, system data, or user preferences.

Here’s an example of how to create a custom function that displays a personalized greeting:

function custom_greeting
    if test (date +%H) -ge 12
        echo "Good afternoon, $USER! Welcome to Fish shell."
        echo "Good morning, $USER! Welcome to Fish shell."

The welcoming message can then be set by calling this function in our Fish configuration file:


Additionally, this solution allows us complete control over the content and display of the greeting message, thereby allowing us to provide a more personalized experience for our shell environment.

Finally, using Fish shell’s welcoming message customization functions allows us to tailor our command-line environment. Whether we want to show a motivational quote, a hilarious message, or simply a nice welcome, establishing a custom fish_greeting function allows us to customize our terminal experience to our desire.

2.4. Saving Changes to config.fish File

After making the necessary changes to the config.fish file, we’ll need to save the changes and exit the Nano text editor. To do this in Nano, press CTRL + O to write the file and CTRL + X to exit. Finally, we can use the source command to reload the configuration within the current session:

$ source ~/.config/fish/config.fish

Saving changes to the config.fish file is a vital step in customizing the Fish shell environment. It ensures that whatever changes we’ve made, such as turning off the greeting message, are saved and applied whenever we launch a new Fish shell session.

3. Conclusion

Customizing our shell environment is essential for increasing productivity and improving the overall user experience.

In this article, we’ve learnt how to quickly eliminate the Fish shell greeting message and create a more personalized terminal environment. Fish offers a variety of alternatives to meet our needs, including modifying configuration files, leveraging environment variables, and creating aliases.

We may try out different ways to see which one works best for us, and then enjoy a distraction-free terminal experience using the Fish shell.

Notify of
Inline Feedbacks
View all comments