This guide covers common issues you may encounter when using Fresh and how to resolve them.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/sinelaw/fresh/llms.txt
Use this file to discover all available pages before exploring further.
Terminal Color Support
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.Color Modes
Truecolor (24-bit)
Truecolor (24-bit)
Full RGB color support with 16 million colors. Used by modern terminals like:
- Kitty
- Alacritty
- iTerm2
- Windows Terminal
- Most terminals with
COLORTERM=truecolor
256 colors
256 colors
Extended color palette with 256 colors. Used by:
- xterm-256color
- Most terminal emulators as fallback
- tmux (by default)
16 colors
16 colors
Basic ANSI color palette. Used by:
- Linux console
- Very old terminals
- GNU Screen
Terminal Multiplexers
GNU Screen and tmux add a layer between your terminal and Fresh, which can affect color rendering:tmux supports 256 colors by default. Some configurations support truecolor with
TERM=tmux-direct.Manual Override
If colors look wrong, you can force a specific color mode with theFRESH_COLOR_MODE environment variable:
Common Color Issues
| 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 |
Checking Your Terminal
Keybinding Issues
Keybinding Not Working
If a keybinding isn’t working as expected:-
Check the Command Palette
Open Command Palette (
Ctrl+Por^P) and type the command name. If a keybinding is assigned, it will be shown alongside the command. - View Keyboard Shortcuts Use Help → Keyboard Shortcuts to view the complete list of keybindings.
- Debug Keyboard Events Use Help → Debug Keyboard Events to see exactly what key codes your terminal sends to Fresh.
Debug Keyboard Events
This tool shows raw terminal events before any translation, helping diagnose issues like:- Missing modifier keys (e.g.,
Ctrl+Shift+Homearriving as justCtrl+Home) - Terminal or OS intercepting keys before they reach Fresh
- Incorrect escape sequences from your terminal
Input Calibration
Some terminals send non-standard escape sequences. If certain key combinations don’t work:- Open View → Calibrate Input from the menu
- Follow the on-screen prompts to teach Fresh your terminal’s key mappings
- Calibration is saved to
~/.config/fresh/key-calibration.json
- Exotic terminal emulators
- Remote SSH sessions
- Terminals with custom key mappings
Performance Issues
Slow Syntax Highlighting
Large files
Large files
For very large files (>1MB), consider:
- Disabling syntax highlighting temporarily
- Using tree-sitter instead of TextMate grammars (generally faster)
- Splitting the file into smaller chunks if possible
Complex grammars
Complex grammars
Some TextMate grammars are computationally expensive. Try:
- Switching to tree-sitter: View → Settings → Editor → Highlighter → tree-sitter
- Using a simpler theme
- Disabling certain highlighting features
LSP Server Not Starting
File Not Found or Permission Errors
If Fresh can’t open or save files:- Check file permissions:
ls -l file.txt - Verify the file exists and path is correct
- Check if another process has the file locked
- Ensure you have write permissions to the directory
Display Issues
Cursor Rendering Problems
Cursor not visible
Cursor not visible
Try changing the cursor style:View → Settings → Editor → Cursor StyleOptions:
block(default)underlinebar
config.json:Cursor flickers or disappears
Cursor flickers or disappears
Some terminals have issues with cursor rendering. Try:
- Different cursor styles
- Updating your terminal emulator
- Checking if terminal has cursor-related settings
Weird Characters or Boxes
Font Issues:- Ensure your terminal uses a font with good Unicode coverage
- Try fonts like: FiraCode, JetBrains Mono, Cascadia Code, or Iosevka
- Check file encoding: View → Settings → Encoding
- Fresh supports: UTF-8, UTF-16, GBK, Shift-JIS, EUC-KR, and more
- Use File → Reload with Encoding to try different encodings
Mouse Not Working
Terminal Support
Verify your terminal supports mouse events. Most modern terminals do, but some may require configuration.
Session & Workspace Issues
Session Not Restoring
If your workspace doesn’t restore on startup:-
Check if workspace restoration is enabled:
-
Or use the CLI flag to skip restoration:
-
Check session files:
Cannot Attach to Session
Session not found
Session not found
List active sessions:The session may have been terminated or doesn’t exist yet.
Permission denied
Permission denied
Check socket permissions:You may need to clean up stale socket files.
Plugin Issues
Plugin Not Loading
Plugin Errors
If a plugin throws errors:- Check plugin compatibility with your Fresh version
- Review plugin documentation
- Check if plugin dependencies are installed
- Report issues to the plugin author
Advanced Topics
Visual Regression Testing
Fresh uses visual regression testing to catch unintentional UI changes. See the repository’sdocs/VISUAL_REGRESSION_TESTING.md for details.
Getting More Help
View Logs
Main log file:
Show Paths
See all Fresh directories:
Dump Config
View effective configuration:
Check LSP
LSP status and diagnostics:Help → LSP Status
Reporting Bugs
When reporting issues, please include:- Fresh version:
fresh --version - Operating system and terminal emulator
- Steps to reproduce
- Relevant log output
- Configuration (if related)
See Also
- CLI Commands - Command-line reference
- Keybindings - Keyboard shortcuts
- Privacy - Telemetry and data collection