FISH\_PROMPT(1) fish-shell FISH\_PROMPT(1)

# [NAME](#NAME)

fish\_prompt - define the appearance of the command line prompt

# [SYNOPSIS](#SYNOPSIS)

```
fish_prompt
```

```
function fish_prompt


    ...
end
```

# [DESCRIPTION](#DESCRIPTION)

The **fish\_prompt** function is executed when the prompt is to be shown, and the output is used as a prompt.

The exit status of commands within **fish\_prompt** will not modify the value of $status &lt;#variables-status&gt; outside of the **fish\_prompt** function.

If **fish\_transient\_prompt** &lt;#envvar-fish\_transient\_prompt&gt; is set to 1, **fish\_prompt --final-rendering** is run before executing the commandline.

If **SHELL\_PROMPT\_PREFIX** &lt;#envvar-SHELL\_PROMPT\_PREFIX&gt; or **SHELL\_PROMPT\_SUFFIX** &lt;#envvar-SHELL\_PROMPT\_SUFFIX&gt; are set, they are automatically prepended and appended to the left prompt. This applies to all prompts regardless of whether **fish\_prompt** has been customized.

**fish** ships with a number of example prompts that can be chosen with the **fish\_config** command.

# [EXAMPLE](#EXAMPLE)

A simple prompt:

```
function fish_prompt -d "Write out the prompt"


    # This shows up as USER@HOST /home/user/ >, with the directory colored


    # $USER and $hostname are set by fish, so you can just use them


    # instead of using `whoami` and `hostname`


    printf '%s@%s %s%s%s > ' $USER $hostname \


        (set_color $fish_color_cwd) (prompt_pwd) (set_color --reset)
end
```

# [Copyright](#Copyright)

fish-shell developers

October 15, 2026 4.9

---

Document: fish_prompt(1) from fish 4.9.3-r3 (Chainguard OS)
Source: https://github.com/fish-shell/fish-shell
