New shell waits for the Enter key press before showing prompt
Describe the bug
When opening Fish shell with Tide inside certain applications (VS Code, ssh) shell hangs and waits for the Enter key press.
Steps to reproduce
-
In VS Code
- Instal Fish, setup Tide
- Start VS Code
- Open a new Fish terminal
Expected:
- New terminal with prompt shows up
Actual:
- There is a Fish greeting and no prompt until an Enter key is pressed
-
With SSH
- Instal Fish, setup Tide on a target machine
- SSH to the machine
Expected:
- New terminal with prompt shows up
Actual:
- There is a Fish greeting and no prompt until an Enter key is pressed
Screenshots
If I open a new Fish shell in VS Code prompt wouldn't show until I press enter:
https://github.com/user-attachments/assets/2421c656-e925-457a-ba35-307ce9fe0de2
When running an SSH to a machine with Fish and Tide same thing happens:
https://github.com/user-attachments/assets/45d551cd-b4e5-4324-a682-48a818ed18e8
I found a simple workaround to this issue - remove one of the parameters in tide configure ... like --show_time=No. This will cause an error message in a new shell but this can be fixed with tide configure ... > /dev/null:
https://github.com/user-attachments/assets/7cf4945b-6bb0-45c7-8ac9-e5faf434ca62
When SSH-ing into remote machine this workaround will also prevent clearing of terminal which I found useful:
https://github.com/user-attachments/assets/b1e9dfea-1aa3-44a5-9faa-e14e565a9369
Environment
Output of tide bug-report:
fish version: 3.7.1
tide version: 6.1.1
term: xterm-256color
os: Mac OS Sequoia 15.1.1
terminal emulator: Hyper
fish startup:
fisher plugins: ilancosman/tide@v6 edc/bass jorgebucaran/nvm.fish jethrokuan/fzf halostatue/[email protected]
Additional context
-
Screen captures are showing Fish greeting as I tried to keep the config down to a minimum, but same happens when greeting is removed.
-
When using SSH to remote to a machine with Tide screen gets cleared. I'm not sure if this is by design, but since the same workaround of not including a tide parameter is fixing it (or breaking it), it is worth mentioning it. It would be great if the terminal is not cleared when SSH-ing to a different machine.
Yea I'm getting the same issue. No prompt until I press enter, run a command, or clear (Ctrl+L).
Seems like @IlanCosman has abandoned this project, which is a shame. They haven't touched anything here since February 2024, and they have recent activity elsewhere in GitHub.
Time to get used to something else, I guess.
@durad Check if you have pure installed. I had it installed via the package cachyos-fish-config. After removing it and reinstalling tide, the issue went away
I take that back. It works fine with Fish 3, but I get that issue again when upgrading to Fish 4, even after reconfiguring tide
My workaround with removing the parameter actually doesn't do anything (it doesn't configure Tide at all, just prints the error) so I'm guessing the workaround would be to completely remove tide configure ... command from Fish config file. When I remove it I don't have any issues with Fish 3.7.1. Tide also keeps its configuration in new windows/terminal restart etc. Still I wish I could keep it in the config and version it with the rest of my dot files. For now I just keep it commented out.
@Gelmo You mentioned that you're having the issue with Fish 4. I'm curious, what does your config.fish looks like? Do you have tide configure ... in there?
@durad tide configure is a command and argument, to run the Configuration Wizard
Yes, I know you can use it to run interactive configuration. However you can also use it with parameters as a cli command only. If you look at my first video that is what I had in my config.fish. When you run it without params (interactive), at the last step if will offer to print out the cli command with params.
@durad Ha! I totally misunderstood you message, sorry! Here's my config:
tide configure \
--auto \
--style=Lean \
--prompt_colors='True color' \
--show_time='12-hour format' \
--lean_prompt_height='Two lines' \
--prompt_connection=Solid \
--prompt_connection_andor_frame_color=Dark \
--prompt_spacing=Sparse \
--icons='Many icons' \
--transient=No
@Gelmo No problem and thanks for looking into this!
I guess since Tide stores all of its configuration in universal vars we can just go ahead and remove tide configure ... call from fish config. This is a workaround and it still shouldn't block the terminal for those who prefer to keep it in fish config.
Yeah, adding that I'm seeing the same issue on fish 4. fish 3.7.1 is fine, and I don't have tide configure ... in my fish config.
Hi
I have the same issue: I also have to press enter to get a prompt, regardless of the terminal emulator used (Konsole, Terminator, Jetbrains). Unfortunately the workaround doesn't work for me.
I also moved all my conf.d and completions fish scripts to disable them all (except _tide_init.fish) and disabled fish_greeting but the issue is still there.
fish version: 4.0.2
tide version: 6.2.0
term: xterm-256color
os: Kubuntu 25.04
terminal emulator: Konsole
fish startup: 484.41 millis
fisher plugins: jorgebucaran/fisher ilancosman/tide@v6