Fish-Shell-Themes & Prompts (2026): Tide, Starship, Pure
Die besten Fish-Shell-Prompts und -Themes 2026 im Vergleich: Tide, Starship, Pure und Hydro. Install-Schritte, Fish-4-Kompatibilität und wie du den richtigen wählst.
Aktualisiert Veröffentlicht 13 Min. Lesezeit

Die besten Fish-Shell-Prompts 2026 sind Tide, Starship, Pure und Hydro – plus die Themes, die Fish von Haus aus mitbringt. Fish kommt mit einem brauchbaren Standard-Prompt, aber die meisten tauschen ihn gegen etwas mit mehr Informationen: Git-Branch, Befehlsdauer, Sprachversionen. Dieser Guide behandelt Installation und Konfiguration jedes einzelnen, Hinweise zur Fish-4.x-Kompatibilität und wie du den richtigen Prompt für deinen Workflow wählst.
Getestet mit Fish 4.9.3, Tide 6.2.1, Starship 1.27.0, Pure 4.19.2 (November 2026).
Was du vor dem Start brauchst:
- Fish Shell installiert (3.x oder 4.x; siehe die Fish-4-Hinweise unten). Neu bei Fish? Schau dir zuerst unseren Fish-vs.-Bash-vs.-Zsh-Vergleich an.
- Fisher Plugin-Manager (nötig für Tide, Pure und Hydro)
- Nerd Font in deinem Terminal-Emulator gesetzt (empfohlen für Tide- und Starship-Icons; optional für Pure und Hydro)
Über den Prompt hinaus sind Fish-Shell-Autocomplete und -Suggestions die halbe UX und lohnt es zu tunen, sobald dein Prompt gut aussieht.
Eingebaute Fish-Shell-Themes
Bevor du irgendetwas installierst: Fish hat ein eigenes Theme-System. Führe aus:
fish_config theme showDas gibt die verfügbaren Farb-Themes direkt in deinem Terminal aus. Um eins anzuwenden:
fish_config theme choose dracula
fish_config theme saveDu kannst eine dunkle oder helle Variante erzwingen mit fish_config theme choose THEME --color-theme=(dark|light).
Speziell für Prompts:
fish_config prompt show
fish_config prompt choose informative
fish_config prompt saveFühre fish_config prompt list aus, um alles Verfügbare zu sehen. Der genaue Satz variiert je nach Fish-Version. Diese eingebauten Prompts sind feature-arm (kein Async-Rendering, keine Spracherkennung), aber sie laden sofort und brauchen keine externen Abhängigkeiten.
Du kannst auch fish_config ohne Argumente ausführen, um ein browserbasiertes Konfigurations-Tool zu öffnen, in dem du alles visuell in der Vorschau siehst. Wenn du Farben über den Prompt hinaus anpassen willst, siehe unseren Fish-Shell-Syntax-Highlighting-Guide.
Tide: der Fish-native Power-Prompt
Tide ist der feature-reichste Fish-native Prompt. Er ist für Fish das, was Powerlevel10k für Zsh ist: Async-Rendering, ein Konfigurations-Wizard, tiefe Git-Integration und ein Transient-Prompt, der alte Prompts zusammenklappt, um Scrollback zu sparen. Er wird aktiv gepflegt (v6.2.1, November 2026, 4.3k Stars).
Tide installieren
Du brauchst zuerst Fisher. Dann:
fisher install IlanCosman/tide@v6
tide configureInstallation verifizieren:
fisher list | grep tideDer Prompt ändert sich sofort nach der Installation.
Fish-4.x-Voraussetzung
Auf Fish 4.3 oder neuer: stelle sicher, dass du Tide ≥ 6.2.1 hast. Frühere v6-Releases haben Vi-Mode- und Resize-Bugs auf Fish 4.x; v6.2.1 (November 2026) hat beide behoben.
Tide konfigurieren
Der tide configure-Wizard führt dich durch:
- Powerline-Stil vs. schlichter Text
- Ein- oder zweizeiliger Prompt
- Icon-Stil (Nerd Font nötig für Icons)
- Farben und Abstände
Es dauert etwa 30 Sekunden und gibt dir einen polierten Prompt ohne manuelles Editieren.
Interaktiver Wizard
Führe tide configure aus und beantworte die Prompts. Das ist der normale Weg. Du siehst eine Live-Vorschau bei jeder Wahl.
Automatisiert (Dotfiles)
Führe tide configure --auto für nicht-interaktive Setups aus. Es wendet ein Standard-Preset ohne Nachfragen an – genau das, was du in Dotfiles-Bootstrap-Scripts oder CI-Umgebungen willst, wo es kein TTY zum Antworten gibt.
Über den Wizard hinaus kannst du Tide erweitern, indem du eigene Fish-Shell-Funktionen erstellst, die Items in den Prompt injizieren.
Was Tide anzeigt
Standardmäßig zeigt Tide:
- Aktuelles Verzeichnis (smarte Kürzung auf das kürzeste eindeutige Präfix)
- Git-Branch und -Status (untracked, modified, staged, ahead/behind)
- Befehlsdauer (für langsame Befehle)
- Sprachversionen (Node, Python, Rust, Go, Bun, etc.), wenn du in einem relevanten Projekt bist. Für Node kannst du Node-Versionen mit nvm.fish verwalten. Das
go-Item triggert auch aufgo.work-Workspaces (v6.2.1). - Zeit, Jobs und Exit-Status im rechten Prompt
Nerd Font empfohlen: Installiere MesloLGS NF oder irgendeine Nerd Font für den besten Icon-Support. Ohne fällt Tide auf einen reinen Text-Modus zurück, der immer noch gut aussieht. Sowohl das Ghostty-Terminal-Setup als auch WezTerm auf macOS rendern Nerd Fonts gut.
Tide anpassen
Nach dem Wizard einzelne Einstellungen feintunen:
# Change which items appear on the left and right
set --universal tide_left_prompt_items pwd git newline character
set --universal tide_right_prompt_items status cmd_duration context jobs node
# Change git status symbols
set --universal tide_git_icon ""
# Apply changes without restarting the shell
tide reloadÄnderungen sofort anwenden
Nach jeder set --universal-Änderung führe tide reload aus, um sie sofort zu sehen. Kein Shell-Neustart nötig.
Führe set --universal | grep tide aus, um alle Tide-Variablen zu sehen. Nützliche:
tide_jobs_number_threshold: Job-Anzahl nur oberhalb von N Hintergrundjobs anzeigentide_transient_prompt: steuert, ob alte Prompts zusammenklappen, um Scrollback zu sparen
Tide auf Fish 4.x
Fish 4.x (aktuell 4.9.3) ist seit dem 4.0-Rewrite Rust-basiert. Tide v6.2.1 (November 2026) ist vor allem ein Fish-4-Kompatibilitäts-Release. Es behebt:
- Vi-Mode-Prompt-Zeichen, das unter Standard-Bindings auf Fish 4.3+
❮zeigt, undvi_mode, dasDzeigt Broken pipe-Panic bei Terminal-Resize- Prompt bricht in laufenden Shells nach einem Fish-Upgrade via Homebrew
- Tastatureingaben gehen verloren, während der Prompt im Hintergrund rendert
Fish-4.3+-Nutzer
Wenn du auf Fish 4.3+ bist und merkwürdige Vi-Mode-Zeichen oder Resize-Panics siehst, aktualisiere Tide zuerst auf v6.2.1+, bevor du irgendetwas anderes debuggst. Führe fisher update IlanCosman/tide für die neueste Version aus.
Starship: der Cross-Shell-Prompt
Starship ist ein Cross-Shell-Prompt, geschrieben in Rust. Er funktioniert mit Fish, Zsh, Bash, PowerShell und mehr. Mit über 60k GitHub-Stars und aktiver Pflege ist er die praktische Wahl, wenn du mehrere Shells nutzt oder eine Prompt-Config mit Teamkollegen auf anderen Shells teilen willst.
Starship installieren
curl -sS https://starship.rs/install.sh | shZu deiner Fish-Config hinzufügen:
# ~/.config/fish/config.fish
starship init fish | sourceVerifizieren:
starship --version # should be >= 1.27.0Security-Update
Starship v1.27.0 (Oktober 2026) hat zwei mittelschwere Security-Advisories gepatcht: GHSA-x486-6jjc-phfp (Symlink-DoS während des Prompt-Renderns) und GHSA-679r-jwc5-r5m3 (Git-Ownership-Check-Bypass). Wenn du Starship vor Oktober 2026 installiert hast, aktualisiere es: starship update (für install.sh-Installationen) oder dein Paketmanager.
Ich habe einen eigenen Guide zum Einrichten von Starship mit Fish Shell mit Konfigurationsbeispielen und Preset-Auswahl. Wenn du es bereits mit Zsh eingerichtet hast (vielleicht nach meinem Starship-und-Ghostty-Guide), überträgt sich die TOML-Config-Datei.
Starship-Presets
Starship hat ein Preset-System für schnelles Theming. Aktuelle Presets umfassen bracketed-segments, catppuccin-powerline, gruvbox-rainbow, jetpack, nerd-font, no-empty-icons, no-nerd-font, no-runtimes, pastel-powerline, plain-text, pure-preset und tokyo-night.
Eines verdient Erwähnung: pure-preset gibt dir Pures minimalistischen Look in Starship. Nützlich, wenn du Pures Ästhetik willst, aber Cross-Shell-Support brauchst.
starship preset tokyo-night -o ~/.config/starship.toml
starship preset pure-preset -o ~/.config/starship.toml # Pure look, cross-shell- Du willst Pures Look? →
pure-preset - Powerline-Stil? →
catppuccin-powerlineoderpastel-powerline - Keine Nerd Font? →
no-nerd-fontoderplain-text - Alles anzeigen? →
nerd-font
v1.27.0 hat außerdem Jujutsu-VCS-Module hinzugefügt (jj_status, jj_change und andere; nicht im Standard-Format – manuell oder via vcs-Modul hinzufügen) sowie OpenTofu-.tofu-Erkennung im Terraform-Modul.
Starship vs. Tide
Starship hat kein Async-Rendering, ist aber schnell genug, dass es auf normal großen Repos selten zählt. Die Konfiguration ist eine einzige TOML-Datei (~/.config/starship.toml) statt universeller Variablen – manche finden das leichter zu versionieren. Wenn Git-Status in riesigen Repos langsam ist, ist command_timeout in starship.toml (Standard 500 ms) der Regler. Starship gibt bei langsamen Befehlen auf, statt unendlich zu hängen.
Eine weitere Cross-Shell-Option, die man kennen sollte: Oh My Posh (23k+ Stars, aktiv gepflegt). Die Config ist JSON/YAML statt TOML. Wenn du dieses Format bevorzugst oder seine spezifischen Features brauchst, ist es eine solide Alternative zu Starship.
Pure: der minimale Fish-Prompt
Pure ist ein Port des beliebten Zsh-Pure-Prompts (siehe die besten Oh-My-Zsh-Plugins, falls du aus dieser Welt kommst). Er ist minimal: nur dein Verzeichnis, Git-Branch und ein ❯-Zeichen, das nach einem fehlgeschlagenen Befehl rot wird. Aktuell v4.19.2 (Oktober 2026), unterstützt Fish 3.x und 4.x.
Pure installieren
fisher install pure-fish/pureKein Konfigurations-Wizard. Funktioniert sofort mit vernünftigen Defaults. Verifiziere mit fisher list | grep pure. Der neue Prompt erscheint sofort.
Was Pure anzeigt
- Aktuelles Verzeichnis
- Git-Branch und Dirty/Clean-Status
- Befehlsdauer (für lange Befehle)
- Username und Hostname über SSH
- Python-Virtualenv-Name, wenn aktiv
- Das
❯-Prompt-Zeichen
Wenn du einen sauberen, ruhigen Prompt magst, der aus dem Weg bleibt, ist das der richtige. Pure zeigt keine Sprachversionen oder rechte Informationen, es sei denn, du aktivierst sie. Er ist für Leute, die weniger auf dem Bildschirm wollen, nicht mehr.
Pure anpassen
Pure nutzt Fish-Variablen zur Konfiguration:
set --universal pure_show_system_time true
set --universal pure_enable_single_line_prompt true
set --universal pure_show_jobs true
# Sub-second command duration (new in v4.19.2)
set --universal pure_threshold_command_duration 0
set --universal pure_show_subsecond_command_duration truev4.19.2 (Oktober 2026) hat die Sub-Sekunden-Dauer-Variablen hinzugefügt. Nützlich, wenn du das Timing auch für schnelle Befehle sehen willst, nicht nur für langsame.
Hydro: Async-Git, null Config
Hydro ist noch minimaler als Pure. Es stammt vom Autor von Fisher und zeigt Git-Branch, Befehlsdauer und Exit-Status. Das war’s im Wesentlichen.
fisher install jorgebucaran/hydroHydros Stärke ist null Konfiguration und nahezu null Overhead. Der Git-Status aktualisiert asynchron: Der Prompt zeichnet sofort neu und die Branch-Info füllt sich einen Moment später – derselbe Ansatz wie bei Tide. Wenn du einfach einen Git-Branch in deinem Prompt willst, ohne darüber nachzudenken, macht Hydro genau das.
Wartungsstatus
Hydro ist stabile, wenig veränderte Software. Der Autor betrachtet es als fertig, nicht als verlassen. Letzter Commit war Februar 2026 (“Fix CJK branch name truncation”). Keine getaggten Releases; Fisher trackt das Repo direkt.
Fish-Shell-Prompt-Vergleich
| Tide | Starship | Pure | Hydro | Eingebaut | |
|---|---|---|---|---|---|
| Async-Rendering | Ja | Nein | Teilweise | Ja (Async-Git-Status-Repaint) | Nein |
| Config-Wizard | Ja | Nein | Nein | Nein | Web-UI |
| Cross-Shell | Nein (nur Fish) | Ja | Nein (nur Fish) | Nein (nur Fish) | Nein |
| Config-Format | Universelle Variablen | TOML-Datei | Universelle Variablen | Minimal | Web-UI / Variablen |
| Nerd Font nötig | Empfohlen | Empfohlen | Nein | Nein | Nein |
| Sprachversionen | Ja | Ja | Nein | Nein | Nein |
| Git-Integration | Tief | Gut | Basis | Basis | Keine |
| Transient Prompt | Ja | Nein | Nein | Nein | Nein |
| Setup-Zeit | 1 Minute | 2–3 Minuten | 30 Sekunden | 10 Sekunden | 30 Sekunden |
Welchen Fish-Shell-Prompt solltest du nutzen?
Tide, wenn Fish deine einzige Shell ist und du den am besten aussehenden, informativsten Prompt ohne Lag willst. Der Wizard macht das Setup einfach.
Starship, wenn du mehrere Shells nutzt oder eine TOML-Config-Datei willst, die du versionieren kannst. Ich habe das ausführlich in meinem Starship-+-Fish-Guide behandelt.
Pure, wenn du Minimalismus und ein bewährtes Design bevorzugst (es ist in der Zsh-Welt seit Jahren beliebt).
Hydro, wenn du den absolut minimalen brauchbaren Prompt willst.
Eingebaut, wenn du nichts extra installieren willst und die Standard-Prompts gut genug sind.
Ich persönlich nutze Starship, weil ich auf verschiedenen Maschinen zwischen Fish und Zsh wechsle. Wenn ich nur Fish nutzen würde, würde ich vermutlich Tide nehmen.
- Nur Fish, maximale Features? → Tide
- Mehrere Shells oder versionierbare Config? → Starship
- Minimaler, ruhiger Prompt? → Pure
- Absolutes Minimum, null Config? → Hydro
- Willst nichts installieren? → Eingebaute Themes
Deinen Prompt verifizieren und zurückrollen
Wechseln ist sicher
Prompts zu wechseln ist sicher. Nichts berührt deine Shell-Config über eine Zeile in config.fish oder Fishers Plugin-Liste hinaus. So prüfst du, was aktiv ist, und machst es rückgängig.
Verifiziere, was deinen Prompt rendert:
type fish_prompt
fish --version
starship --version
fisher --versiontype fish_prompt sagt dir, welche Funktion deinen Prompt rendert. Wenn du starship siehst, ist Starship aktiv. Wenn du fish_prompt von Tide oder Pure definiert siehst, läuft das.
Zurück zum Standard-Fish-Prompt:
fisher remove IlanCosman/tide # or pure-fish/pure or jorgebucaran/hydro
fish_config prompt choose default
fish_config prompt saveFür Starship lösche die Zeile starship init fish | source aus ~/.config/fish/config.fish und öffne dann eine neue Shell.
Wenn du über den Prompt hinausgehen und eigene Fish-Shell-Funktionen erstellen willst, ist das der natürliche nächste Schritt, sobald dein Prompt gut aussieht.
Häufige Fehlermodi:
Tofu-Boxen / seltsame Glyphen
Fehlende Nerd Font. Tide und Starship nutzen Nerd-Font-Glyphen für Icons. Ohne siehst du Boxen oder Fragezeichen. Fix: Installiere MesloLGS NF (oder eine beliebige Nerd Font) und setze sie in deinem Terminal-Emulator. Hydro und Pure nutzen einfache Glyphen und sind nicht betroffen.
Zwei Prompts bekämpfen sich
Sowohl Starship-Init als auch Tide gleichzeitig installiert. Der zuletzt geladene gewinnt, und das ist verwirrend zu debuggen. Fix: Entferne einen. Führe fisher remove IlanCosman/tide aus oder lösche die Zeile starship init fish | source aus config.fish. Dann öffne eine neue Shell.
Prompt hängt bei großen Repos
Starship rendert synchron. In riesigen Repos kann Git-Status den Prompt bis zu command_timeout (Standard 500 ms) blockieren. Fix: Erhöhe command_timeout in ~/.config/starship.toml oder wechsle zu Tide (Async-Rendering; Prompt rendert zuerst, Git-Info füllt sich nach).
macOS/WSL-Pfadfehler nach Upgrade
Case-mismatched Pfade haben ältere Tide-Versionen gebrochen (set: --erase-Fehler). Tide v6.2.1 (#630) hat das behoben. Fix: fisher update IlanCosman/tide.
Verwandte Guides
- Starship mit Fish Shell einrichten: vollständige Starship-Konfiguration
- Beste Fish-Shell-Plugins: Tide, Fisher und andere Tools
- Oh-My-Fish-Themes und -Plugins: OMF-spezifische Themes
- Fish-Shell-Syntax-Highlighting: Farben über den Prompt hinaus anpassen
- Fish Shell auf Ubuntu installieren: der Einstieg
- Fish Shell auf macOS: Mac-spezifisches Setup
- Starship-+-Ghostty-Setup: Terminal + Prompt-Kombo
- Fish-vs.-Bash-vs.-Zsh-Vergleich: die richtige Shell wählen
- Fish-Shell-Autocomplete und -Suggestions: den Rest der UX tunen
- Fish-Shell-Abkürzungen vs. Aliase: deinen Workflow beschleunigen
- Fish-Shell-Verlauf über Maschinen synchronisieren: Verlauf konsistent halten
- Eigene Fish-Shell-Funktionen erstellen: über den Prompt hinaus erweitern
Hat diese Anleitung bei dir funktioniert?
Brauchst du Hilfe bei Astro, VPS oder einer Self-hosted-App? Services ansehen →


