Debugging and Logs
Debug Overlay
The fastest way to see recent log messages is using the debug overlay:Press
Ctrl+Shift+L (or Cmd+Shift+L on macOS) to activate the debug overlay. This shows recent log messages and provides access to a Lua REPL.- Review recently logged issues
- Evaluate Lua functions interactively
- Test configuration changes without reloading
Log Files Location
Log files are stored in different locations depending on your system:- Unix systems:
$XDG_RUNTIME_DIR/wezterm - macOS/Windows:
$HOME/.local/share/wezterm
Increasing Log Verbosity
To see more detailed logs, use theWEZTERM_LOG environment variable:
Targeted Logging
You can filter logs to specific modules for more focused debugging:config- Configuration loading and parsingwezterm_gui::frontend- GUI and window managementwezterm_font- Font loading and renderingwezterm_gui::termwindow- Terminal window behavior
Font Issues
Glyphs Render as Underscores or Question Marks
This typically indicates a font fallback issue or missing glyphs. Solution 1: Configure Font Fallback Add fonts that contain the missing glyphs:Font Looks Blurry or Wrong Size
On X11 systems with high-DPI displays, you may need to override the DPI:Ligatures Not Working (or Want to Disable Them)
To disable ligatures:Unicode and Locale Issues
Unicode Characters Don’t Display Correctly
Problem: Characters appear garbled or show as multiple incorrect glyphs. Solution: Check your locale settings:Unicode in tmux Shows Underscores
This is usually a locale issue with tmux:-
Set LANG before starting tmux:
-
Kill and restart your tmux server after changing locale:
-
Ensure tmux is configured for UTF-8:
zsh Shows Broken Unicode When Pasting
zsh’s line editor doesn’t support combining characters by default:Keyboard Issues
Keys Don’t Work or Produce Weird Characters
Step 1: Enable Debug Loggingxxd
To see raw byte sequences:
Alt/Option Key Issues on macOS
The Option key behavior can be configured:Caps Lock as Leader Key on Linux
If you’ve remapped Caps Lock usingsetxkbmap -option caps:none:
Mouse Cursor Issues (X11/Wayland)
Old-School X11 Cursor Appearance
WezTerm tries to load XCursor themes but may fall back to basic X11 cursors. Enable Debug Logging:XCursor Resolution Process
XCursor Resolution Process
WezTerm resolves cursor themes through these steps:
- Check
xcursor_themein config - X11: Check
RESOURCE_MANAGERproperty on root window - Wayland: Check
XCURSOR_THEMEenvironment variable - Fall back to “default” theme
- Check
XCURSOR_PATHenvironment variable - Construct path from
XDG_DATA_HOMEandXDG_DATA_DIRS - Use hardcoded fallback paths
Terminal Compatibility Issues
Programs Don’t Recognize Function Keys
Problem: F-keys or other special keys aren’t working in applications. Solution: TheTERM environment variable should be set correctly:
Neovim: Curly Underlines Don’t Work
WezTerm supports curly underlines, but Neovim needs terminfo:.vimrc:
On Windows, ConPTY strips curly underline sequences. Use
wezterm ssh or multiplexing to bypass ConPTY when connecting to WSL.Shell-Specific Issues
PowerShell: Cursor Keys Don’t Work in External Programs
This is a known PowerShell issue. PowerShell enables DECCKM mode and doesn’t restore it. Workaround: This affects all terminal emulators. Consider using a different shell or report the issue to the PowerShell team.Bash: readline Issues
If you haveset convert-meta on in ~/.inputrc:
Problem: Latin-1 and other characters appear broken.
Solution: Disable this setting for UTF-8 environments:
macOS Specific Issues
WezTerm Can’t Find Programs in PATH
When launched from Finder, WezTerm inherits the minimal macOS PATH. Solution 1: Spawn via ShellFor zsh users, add
-l flag to source .zprofile, or -i flag to source .zshrc.Performance Issues
High CPU or GPU Usage
-
Disable transparency if not needed:
-
Reduce animation:
-
Check for runaway processes in terminal:
Slow Rendering with Background Images
Large images consume VRAM and slow rendering:Getting More Help
Useful Diagnostic Commands
Report Issues
If you can’t resolve the issue:- Check existing issues on GitHub
- Search the WezTerm documentation
- Open a new issue with diagnostic information