docs/troubleshooting.md
Fresh automatically detects your terminal's color capability and converts theme colors accordingly. Most modern terminals support 24-bit "truecolor", but some terminals and multiplexers have limited support.
COLORTERM=truecolor.GNU Screen and tmux add a layer between your terminal and Fresh, which can affect color rendering:
TERM starts with screen.TERM=tmux-direct.If colors look wrong, you can force a specific color mode with the FRESH_COLOR_MODE environment variable:
# Force 256-color mode (recommended for GNU Screen)
FRESH_COLOR_MODE=256 fresh
# Force 16-color mode
FRESH_COLOR_MODE=16 fresh
# Force truecolor (if auto-detection is wrong)
FRESH_COLOR_MODE=truecolor fresh
When running in a 256-color terminal, Fresh automatically adjusts foreground colors to maintain readable contrast against their background.
| Symptom | Likely Cause | Solution |
|---|---|---|
| Colors look completely wrong | Truecolor detected but not supported | Use FRESH_COLOR_MODE=256 |
| Weird artifacts/rendering issues | Terminal multiplexer interference | Try FRESH_COLOR_MODE=256 or check TERM |
| Very limited/ugly colors | 16-color mode detected | Check your terminal supports 256 colors |
# Check TERM variable
echo $TERM
# Check COLORTERM (if set, indicates truecolor support)
echo $COLORTERM
If something outside Fresh scribbles over the TUI — a stray shell message, an external program's output, a paste with unbalanced escape sequences, or a terminal that got wedged during a resize — the screen can end up with ghost text or misaligned cells. Run Redraw Screen from the command palette (Ctrl+P) to clear the terminal and repaint the UI from scratch.
Fresh uses visual regression testing to catch unintentional UI changes. See docs/VISUAL_REGRESSION_TESTING.md.
Open command palette (Ctrl+P or ^P) and type the name of the command you want to run - if any keybinding is assigned, it will also be shown.
Alternatively, use Help -> Keyboard Shortcuts to view the full list.
If a keybinding isn't working as expected, use Help → Debug Keyboard Events to see exactly what key codes your terminal sends to Fresh. This shows raw terminal events before any translation, helping diagnose issues like:
Press any key to see its code, modifiers, and event type. Press c to clear history, q or Esc to close.