Troubleshooting¶
This guide covers common Starship issues and their solutions.
Installation Issues¶
Command Not Found¶
Symptom: starship: command not found
Solutions:
-
Verify installation:
-
Check PATH:
-
Reinstall:
-
Add to PATH manually:
Permission Denied¶
Symptom: Permission errors during installation
Solution:
# Use sudo with install script
curl -sS https://starship.rs/install.sh | sh -s -- --yes
# Or install to user directory
curl -sS https://starship.rs/install.sh | sh -s -- --bin-dir ~/.local/bin
Add ~/.local/bin to PATH:
Configuration Issues¶
Config File Not Loading¶
Symptom: Changes to starship.toml have no effect
Diagnosis:
-
Check config location:
-
Verify file exists:
-
Check for syntax errors:
Solutions:
-
Ensure correct path:
-
Set explicit config path:
-
Restart shell or source config:
TOML Syntax Errors¶
Symptom: Starship shows errors or uses defaults
Diagnosis:
Common syntax issues:
# Wrong: Missing quotes on strings with spaces
style = bold green
# Correct
style = "bold green"
# Wrong: Using = inside section header
[git_branch = something]
# Correct
[git_branch]
something = value
# Wrong: Unclosed brackets
format = "[$branch($style)"
# Correct
format = "[$branch]($style)"
Module Not Showing¶
Symptom: A module doesn't appear when expected
Diagnosis:
Common causes:
-
Module disabled:
-
Detection not triggered:
-
Not in format string:
-
Conditional not met:
Display Issues¶
Symbols Not Rendering¶
Symptom: Boxes, question marks, or wrong characters instead of symbols
Cause: Missing Nerd Font
Solutions:
-
Install a Nerd Font:
-
Configure terminal to use the font:
- iTerm2: Preferences > Profiles > Text > Font
- Terminal.app: Preferences > Profiles > Font
-
VS Code: Settings > Terminal > Integrated: Font Family
-
Use text-only symbols:
Colors Not Showing¶
Symptom: Prompt appears in plain text without colors
Causes:
-
Terminal doesn't support colors:
-
True color not supported:
Solutions:
-
Set TERM correctly:
-
Use basic colors in config:
Prompt Appears on Wrong Line¶
Symptom: Text wrapping issues or cursor on wrong line
Cause: Hidden characters not properly escaped
Solution:
Check shell-specific escaping. The init script usually handles this, but manual configurations may need:
Starship handles this automatically - ensure you're using the proper init:
Garbled Output in tmux¶
Symptom: Prompt looks wrong in tmux
Solutions:
-
Set proper TERM in tmux:
-
Reload tmux:
Performance Issues¶
Slow Prompt¶
Symptom: Noticeable delay before prompt appears
Diagnosis:
Solutions:
-
Disable slow modules:
-
Reduce git_status scope:
-
Set command timeout:
-
Reduce detection:
Very Slow in Large Repos¶
Symptom: Multi-second delay in large Git repositories
Solutions:
-
Disable git_status:
-
Configure Git for large repos:
-
Use sparse checkout for very large repos
Shell-Specific Issues¶
Bash Completion Broken¶
Symptom: Tab completion stops working after enabling Starship
Solution:
Ensure Starship init is at the END of .bashrc, after completion setup:
Zsh Slow Startup¶
Symptom: Shell takes long to start
Diagnosis:
Solutions:
-
Use async loading (with zinit or similar)
-
Profile startup:
-
Compile Starship init:
Fish Issues¶
Symptom: Starship not loading in Fish
Solution:
Ensure init is in the right file:
Git Issues¶
Git Branch Not Showing¶
Symptom: No branch displayed in Git repo
Diagnosis:
Solutions:
- Verify you're in a Git repo
-
Check if git_branch is disabled:
-
Ensure Git is installed and in PATH
Wrong Git Status¶
Symptom: Status symbols incorrect or missing
Solutions:
-
Check actual Git status:
-
Verify format includes all_status:
-
Check individual status symbols:
Custom Module Issues¶
Custom Command Not Working¶
Symptom: Custom module doesn't appear or shows wrong output
Diagnosis:
-
Test command manually:
-
Check
whencondition:
Solutions:
-
Ensure command is available:
-
Fix when condition:
-
Specify shell:
Getting Help¶
Generate Bug Report¶
This generates diagnostic information including:
- Starship version
- Shell information
- Configuration
- Environment variables
Check Version¶
Official Resources¶
Debugging Steps¶
-
Check explain output:
-
View timings:
-
Print config:
-
Enable logging:
-
Test minimal config: