Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

wezterm-tabs

verified

This skill should be used when the user asks about "tab bar", "tab title", "nerd font icons", "process icons", "tab formatting", "powerline tabs", "retro tab bar", "tab colors", or mentions customizing WezTerm tabs with icons and status indicators.

View on GitHub

Marketplace

functional-claude

nthplusio/functional-claude

Plugin

wezterm-dev

Repository
Verified Org

nthplusio/functional-claude

plugins/wezterm-dev/skills/wezterm-tabs/SKILL.md

Last Verified

February 2, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/nthplusio/functional-claude/blob/main/plugins/wezterm-dev/skills/wezterm-tabs/SKILL.md -a claude-code --skill wezterm-tabs

Installation paths:

Claude
.claude/skills/wezterm-tabs/
Powered by add-skill CLI

Instructions

# WezTerm Tab Bar

Customize tab bar with Nerd Font icons, process detection, and status indicators.

## Tab Bar Position and Style

```lua
config.tab_bar_at_bottom = true
config.use_fancy_tab_bar = false   -- Retro style for custom formatting
config.tab_max_width = 32
```

## Custom Tab Title Format

```
[status_dot] [process_icon]  [directory] |
```

- **status_dot**: Agent status (working/waiting/idle)
- **process_icon**: Nerd Font icon based on foreground process
- **directory**: Current working directory leaf name

## Process Icons Mapping

```lua
local process_icons = {
    -- Shells
    ['powershell'] = '󰨊',
    ['pwsh'] = '󰨊',
    ['cmd'] = '󰆍',
    ['bash'] = '',
    ['zsh'] = '',

    -- Node.js
    ['node'] = '󰎙',
    ['npm'] = '󰎙',
    ['bun'] = '󰎙',

    -- Python
    ['python'] = '󰌠',
    ['pip'] = '󰌠',

    -- Editors
    ['nvim'] = '',
    ['vim'] = '',
    ['code'] = '󰨞',

    -- Git
    ['git'] = '󰊢',
    ['lazygit'] = '󰊢',

    -- AI
    ['claude'] = '󰚩',

    -- Default
    ['default'] = '󰆍',
}
```

See `references/icons.md` for complete icon reference.

## Tab Title Event Handler

```lua
wezterm.on('format-tab-title', function(tab, tabs, panes, cfg, hover, max_width)
    local pane = tab.active_pane

    -- Get process name
    local process = pane.foreground_process_name or ''
    process = process:gsub('.*[/\\]', ''):gsub('%.exe$', ''):lower()
    if process == '' then process = 'shell' end

    -- Get icon
    local icon = process_icons[process] or process_icons['default']

    -- Get directory leaf
    local cwd = pane.current_working_dir
    local dir_leaf = '~'
    if cwd then
        local path = cwd.file_path
        if path then
            path = path:gsub('[/\\]+$', ''):gsub('^/', '')
            local leaf = path:match('[^/\\]+$')
            if leaf and leaf ~= '' then
                dir_leaf = leaf
            end
        end
    end

    -- Colors based on active state
    local bg = tab.is_active and '#313244' or '#

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
2730 chars