Tab Management
Tabs in kitty are like browser tabs: each tab holds one or more window splits and has its own title. They let you organize completely different workspaces without launching multiple terminal windows.
Use this lesson to organize your terminal work into project or task-specific tabs, each with its own window layout.
Creating Tabs
# from inside kitty
Ctrl+Shift+t → New tab (auto-numbered)
# from the command line
kitty @ new-tab
kitty @ new-tab --tab-title "monitoring"
kitty @ new-tab --tab-title "logs" --cwd /var/log
# via command palette
Ctrl+Shift+p → type "new tab" → Enter
Naming Tabs
# rename current tab
Ctrl+Shift+Alt+t → Enter new name in prompt
# from command line
kitty @ set-tab-title "editor"
kitty @ set-tab-title "server-logs"
Give each tab a descriptive 1-2 word name. Good names: editor, logs, git, deploy, monitoring. Avoid generic names like bash or terminal.
Navigating Tabs
| Shortcut | Action |
|---|---|
Ctrl+Shift+left | Previous tab |
Ctrl+Shift+right | Next tab |
Ctrl+Shift+1 | Switch to tab 1 |
Ctrl+Shift+2 | Switch to tab 2 |
Ctrl+Shift+3 | Switch to tab 3 |
Ctrl+Shift+... | (up to 9) |
Ctrl+Shift+p → type tab name | Tab search |
Moving and Reordering Tabs
# move tab left
Ctrl+Shift+, → Move current tab left
# move tab right
Ctrl+Shift+. → Move current tab right
# from the command line
kitty @ set-tab-position --index 0 # move to first position
kitty @ set-tab-position --index 3 # move to fourth position
Tab Lifecycle
┌──────────┐ Ctrl+Shift+t ┌──────────────┐
│ Start │ ─────────────────→ │ Tab Created │
│ kitty │ │ (1 window) │
└──────────┘ └──────┬───────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Add │ │ Name │ │ Navigate │
│ Windows │ │ Tab │ │ Tabs │
│ Ctrl+Sh+ │ │Ctrl+Sh+ │ │Ctrl+Sh+ │
│ Enter │ │Alt+t │ │left/right│
└──────────┘ └──────────┘ └──────────┘
│ │ │
└───────────────┼───────────────┘
▼
┌──────────┐
│ Close │
│ Tab │
│ exit or │
│Ctrl+Sh+q │
└──────────┘
Closing Tabs
# close current tab and all its windows
# simply close all windows: exit in each, or Ctrl+Shift+q
# close all tabs and quit kitty
kitty @ close-tab # close current tab
kitty @ close-tab --match index:0 # close specific tab
# or just close the OS window — kitty server stays alive
Closing the last tab closes the OS window, but the kitty server process may remain running (especially if launched with kitty --single-instance or --listen-on).
Using the Launch Command for Tabs
# launch a new kitty window with a specific command
kitty @ launch --type tab --cwd /var/log --title "logs" tail -f syslog
# launch a tab with multiple windows
kitty @ launch --type tab --title "monitoring" --keep-focus
kitty @ launch --type window htop
kitty @ launch --type window --cwd /var/log
Tab Management Workflow
#!/bin/bash
# Setup a multi-tab development workspace
# Tab 1: Editor
kitty @ new-tab --tab-title "editor"
kitty @ launch --type window --cwd ~/projects/myapp
# Tab 2: Server
kitty @ new-tab --tab-title "server"
kitty @ launch --type window --cwd ~/projects/myapp
kitty @ send-text --match title:server "npm run dev\n"
# Tab 3: Logs
kitty @ new-tab --tab-title "logs"
kitty @ launch --type window
kitty @ send-text "tail -f /var/log/syslog\n"
# Tab 4: Git
kitty @ new-tab --tab-title "git"
kitty @ launch --type window --cwd ~/projects/myapp
# Switch back to editor tab
kitty @ focus-tab --match title:editor
Tab Bar Display
The tab bar (top by default) shows:
┌─ kitty ───────────────────────────────────────────────────┐
│ [editor] [server*] [logs] [git] │
│ │
│ (tab content area) │
│ │
└────────────────────────────────────────────────────────────┘
* = active tab. The tab bar can be moved to the bottom, styled with powerline, or hidden entirely (see Fonts and Appearance).
Common Pitfalls
| Pitfall | Symptom | Fix |
|---|---|---|
| Tab closes unexpectedly | Last window in tab was closed | Use Ctrl+Shift+t to create a new tab first |
| Tab bar not showing | Tab bar set to hidden | Set tab_bar_style to fade, powerline, or slant |
| Tab number shortcuts not working | More than 9 tabs | Use Ctrl+Shift+p to search by tab name |
| Tab titles not updating | Ctrl+Shift+Alt+t not used | The default title shows the current process name |
Hands-On Practice
Try this complete tab workflow inside kitty:
# Tab 1: Create and name
# Ctrl+Shift+t
# Ctrl+Shift+Alt+t → type "shell" → Enter
# Tab 2: Create, name, and add windows
# Ctrl+Shift+t
# Ctrl+Shift+Alt+t → type "monitoring" → Enter
# Ctrl+Shift+Enter (vertical split)
# Ctrl+Shift+Alt+Enter (horizontal split on right side)
# Navigate between tabs
# Ctrl+Shift+left → go to shell
# Ctrl+Shift+right → go to monitoring
# Rearrange tabs
# Ctrl+Shift+, → move current tab left
# Ctrl+Shift+. → move current tab right
# Close tabs
# Ctrl+Shift+q on each window, or exit in each shell