Marketplace

wezterm-config

Complete WezTerm terminal emulator configuration assistant. Use for any WezTerm configuration task including appearance, fonts, colors, keybindings, mouse bindings, tabs, panes, SSH domains, multiplexing, serial ports, plugins, events, window management, performance, platform-specific settings, Lua scripting, or any terminal customization.

$ Installieren

git clone https://github.com/alexfazio/cc-skills /tmp/cc-skills && cp -r /tmp/cc-skills/skills/wezterm-config ~/.claude/skills/cc-skills

// tip: Run this command in your terminal to install the skill


name: wezterm-config description: Complete WezTerm terminal emulator configuration assistant. Use for any WezTerm configuration task including appearance, fonts, colors, keybindings, mouse bindings, tabs, panes, SSH domains, multiplexing, serial ports, plugins, events, window management, performance, platform-specific settings, Lua scripting, or any terminal customization.

WezTerm Configuration Assistant

This skill provides comprehensive assistance for configuring WezTerm terminal emulator. WezTerm uses Lua 5.4 for configuration and offers extensive customization across all aspects of terminal behavior, appearance, input handling, networking, and advanced features.

Configuration Location

Config Directory: /Users/alex/.config/wezterm Main Config File: /Users/alex/.config/wezterm/wezterm.lua

Alternative locations: ~/.wezterm.lua or paths specified via $WEZTERM_CONFIG_FILE

Core Principles

ALWAYS Follow This Workflow

  1. Read Current Config: Use Read tool to examine existing configuration
  2. Fetch Documentation: Use WebFetch to get current documentation for the specific feature
  3. Research Thoroughly: Check multiple doc pages if needed for complex features
  4. Implement Carefully: Preserve existing config, validate Lua syntax
  5. Explain Clearly: Document what changed and why
  6. Guide Testing: Explain how to reload config (Ctrl+Shift+R or restart)

Documentation Strategy

Never embed documentation text. Always use WebFetch to retrieve current information from https://wezterm.org/

WezTerm documentation is comprehensive and continuously updated. The configuration system supports hundreds of options across many domains.

Full Configuration Capabilities

WezTerm supports configuration across these comprehensive areas. For each request, fetch the relevant documentation:

1. Visual Appearance & Display

2. Input & Interaction

3. Window & Pane Management

4. Terminal Behavior

  • Scrollback: Buffer size, history management
  • Bell: Visual and audible notifications
  • Exit Behavior: Close confirmation, hold on exit
  • Text Processing: Blink animation, semantic zones
  • Clipboard: Paste behavior, bracketed paste
  • Shell Integration: OSC sequences, semantic prompts

5. Advanced Connectivity

6. Events & Scripting

7. Platform-Specific Features

8. Graphics & Media

  • Image Protocol: iTerm2 image protocol, imgcat
  • Kitty Graphics: Kitty graphics protocol support
  • Sixel: Sixel graphics rendering

9. Launcher & Command Palette

10. Plugin System

11. Performance & Optimization

  • Frame Rate: Animation FPS, performance tuning
  • Scrollback Limits: Memory management
  • GPU Selection: Renderer preferences, hardware acceleration

12. Advanced Configuration Patterns

  • Config Builder: Using wezterm.config_builder()
  • Modular Configs: Splitting config across multiple Lua files
  • Per-Window Overrides: window:set_config_overrides()
  • CLI Overrides: Command-line configuration parameters
  • Conditional Logic: Platform detection, environment-based config
  • Hot Reloading: Automatic config reload on file change

Configuration File Structure

Modern WezTerm configs use the config_builder pattern:

local wezterm = require 'wezterm'
local config = wezterm.config_builder()

-- All configuration options
config.option_name = value

return config

Legacy pattern (still valid):

local wezterm = require 'wezterm'
return {
  option_name = value,
}

Finding Documentation

For ANY configuration request:

  1. Main Documentation Hub: https://wezterm.org/
  2. Full Config Reference: https://wezterm.org/config/lua/config/index.html
  3. Lua API Reference: https://wezterm.org/config/lua/general.html
  4. Search Strategy: Use WebFetch to retrieve specific pages for:
    • The main feature category
    • Specific config options
    • Related examples or patterns
    • Event handlers if dynamic behavior needed

Research Process for Each Request

When user requests any configuration change:

  1. Identify Category: Determine which configuration area(s) are involved
  2. Fetch Core Docs: Get main documentation page for that category
  3. Fetch Specifics: If needed, get specific API reference or examples
  4. Check Events: If dynamic behavior needed, fetch event documentation
  5. Verify Syntax: Check Lua API docs for correct object/method usage
  6. Cross-Reference: Look at related features that might enhance the solution

Implementation Guidelines

Code Quality

  • Use clear variable names and comments
  • Follow Lua best practices
  • Validate syntax before suggesting
  • Use wezterm.config_builder() for new configs

Config Organization

  • Group related settings together
  • Add section comments for clarity
  • Consider suggesting modular organization for complex configs
  • Preserve user's existing organizational structure

Error Prevention

  • Avoid side effects in config (no unconditional process launches)
  • Check for config file existence before editing
  • Validate that Lua syntax is correct
  • Test edge cases in suggestions

User Guidance

  • Explain what each change does
  • Link to relevant documentation pages
  • Suggest how to test changes (Ctrl+Shift+R)
  • Offer related enhancements when appropriate
  • Mention platform-specific considerations if relevant

Advanced Scenarios

Creating Helper Modules

For complex configs, suggest creating helper modules in the config directory that can be required and reused.

Event-Driven Configuration

When dynamic behavior is needed, use event handlers rather than static config.

Conditional Configuration

Use Lua conditionals for platform-specific or environment-based settings.

Performance Optimization

Consider performance implications of suggestions (e.g., scrollback size, animation settings).

Troubleshooting Support

When issues arise:

  • Check the changelog for version-specific features
  • Verify config syntax with wezterm.config_builder()
  • Look for deprecation warnings in docs
  • Suggest using wezterm CLI tools for debugging
  • Reference https://wezterm.org/troubleshooting.html

Remember

  • Never paste documentation - always use WebFetch
  • Always read config first - understand existing setup
  • Research thoroughly - fetch multiple doc pages if needed
  • Explain clearly - user should understand the changes
  • Link resources - provide documentation URLs for reference
  • Test guidance - explain how to verify changes work

WezTerm is feature-rich and constantly evolving. When in doubt, fetch the documentation.