Invisible `Starship` prompt in `Fish` shell

Open
#3,362 13 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
30/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
fish
Domain
cli

Research direction

Start with the fish.config and starship.toml configurations provided in the issue, then reproduce the invisible prompt with Warp's custom-prompt setting enabled and the listed Fish and macOS versions. Trace the prompt handling around entering and exiting a Fish subshell; done means the Starship prompt remains visible in the main shell and subshell.

Written by the indexing model from the issue text.

Description

area:shell-terminal bug ready-to-implement triaged
Discord username (optional)

danulqua

Describe the bug

I use Starship prompt with Fish shell, and I noticed that my prompt is totally invisible. It becomes visible if I enter new subshells using fish or zsh commands, and as soon as I exit from them to my main shell, it keeps being invisible.

Demo:

https://github.com/warpdotdev/Warp/assets/38916225/f7272d06-86c2-4fdc-ad7e-c95a72be3541

This problem exists in Warp terminal only. In any other terminal everything works fine.
My Starship and Fish configurations are in the "Additional context" section.

To reproduce
  1. Set up the same environment (Starship and Fish)
  2. Go to Warp settings and turn Honor user's custom prompt (PS1) on, or right-click the prompt and select Use my own prompt
  3. Prompt becomes invisible
  4. Enter subshell using fish command
  5. Prompt in the subshell is visible
  6. Write exit to exit the subshell
  7. Prompt in main shell is still invisible
Expected behavior

Starship prompt obviously should be visible all the time.

Screenshots

CleanShot 2023-07-13 at 09 35 05@2x

CleanShot 2023-07-13 at 09 43 31@2x

Operating system

MacOS

Operating system and version

macOS Ventura 13.4.1

Shell Version

fish 3.6.1

Current Warp version

v0.2023.07.04.08.03.stable_02

Regression

No, this bug or issue has existed throughout my experience using Warp

Recent working Warp date

No response

Additional context

My starship.toml:

[aws]
style = "bold #FFCA80"

[character]
error_symbol = "[❯](bold #FF9580)"
success_symbol = "[❯](bold #8AFF80)"

[cmd_duration]
style = "bold #FFFF80"

[directory]
style = "bold #8AFF80"

[git_branch]
style = "bold #FF80BF"

[git_status]
style = "bold #FF9580"

[hostname]
style = "bold #9580FF"

[username]
format = "[$user]($style) on "
style_user = "bold #80FFEA"

My fish.config:

if status is-interactive
    # Commands to run in interactive sessions can go here
end

set -x PATH /opt/homebrew/bin $PATH
set -Ux HOMEBREW_CASK_OPTS "--no-quarantine"
set -Ux NULLCMD bat

# The Fuck
thefuck --alias | source

# Starship
starship init fish | source
Does this block you from using Warp daily?

Yes, this issue prevents me from using Warp daily.

Is this a Warp specific issue? (i.e. does it happen in Terminal, iTerm, Kitty, etc.)

Yes, this I confirmed this only happens in Warp, not other terminals.

Warp Internal (ignore): linear-label:b8107fdf-ba31-488d-b103-d271c89cac3e

None

Dominant language
Rust
Stars
65.1k
Forks
5.6k
PR merge metrics
PR metrics pending

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from warpdotdev/warp

All issues in warpdotdev/warp

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.