kitty keyboard shortcuts for Linux and Mac

Default kitty shortcuts for release 0.49.2. The Linux column shows the kitty_mod bindings (kitty_mod is Ctrl + Shift); the Mac column shows the Cmd alternatives macOS adds. A kitty window is a split inside a tab, while a separate desktop window is an OS window. Bindings such as Ctrl + Shift + P, F are sequences: press the chord, then the next key. Default mouse actions are included; example mappings and actions without a default key are not.

93 shortcuts in 9 sections. Checked row by row against kitty documentation on . Edited by Jay.

Window management 21

On macOS the Linux-column bindings keep working; the Cmd bindings in the Mac column are added on top of them.

Every Ctrl + Shift default is written with the alias kitty_mod; changing kitty_mod in kitty.conf moves all of them at once.

ActionLinuxMac
New windowOpen a new kitty window (split) in the current tab.Ctrl+Shift+EnterCmd+Return
New OS windowOpens a separate top-level window rather than a split inside the current tab.Ctrl+Shift+NCmd+N
Close windowCloses the focused kitty window, not the whole tab or OS window.Ctrl+Shift+WCmd+Shift+D
Start resizing windowEnters a resizing mode with on-screen instructions; what changes is a layout row or column.Ctrl+Shift+RCmd+R
Next windowFocus the next window in the tab.Ctrl+Shift+]Ctrl+Shift+]
Previous windowFocus the previous window in the tab.Ctrl+Shift+[Ctrl+Shift+[
Move window forwardCtrl+Shift+FCtrl+Shift+F
Move window backwardCtrl+Shift+BCtrl+Shift+B
Move window to topCtrl+Shift+`Ctrl+Shift+`
Visually focus windowShows a number or letter over each window; press it to jump to that one.Ctrl+Shift+F7Ctrl+Shift+F7
Visually swap windowUses the same overlay labels, but exchanges the active window with the one you pick.Ctrl+Shift+F8Ctrl+Shift+F8
First windowNumbered windows are counted clockwise, starting from the top-left one.Ctrl+Shift+1Cmd+1
Second windowCtrl+Shift+2Cmd+2
Third windowCtrl+Shift+3Cmd+3
Fourth windowCtrl+Shift+4Cmd+4
Fifth windowCtrl+Shift+5Cmd+5
Sixth windowCtrl+Shift+6Cmd+6
Seventh windowCtrl+Shift+7Cmd+7
Eighth windowCtrl+Shift+8Cmd+8
Ninth windowCtrl+Shift+9Cmd+9
Tenth windowThe only numbered window key without a Cmd variant on macOS.Ctrl+Shift+0Ctrl+Shift+0

Tabs and layouts 8

ActionLinuxMac
New tabOpens another tab in the current OS window.Ctrl+Shift+TCmd+T
Close tabCloses the current tab along with every kitty window inside it.Ctrl+Shift+QCmd+W
Next tabSwitch to the tab on the right.Ctrl+Shift+RightorCtrl+TabCmd+Shift+]orCtrl+Tab
Previous tabSwitch to the tab on the left.Ctrl+Shift+LeftorCtrl+Shift+TabCmd+Shift+[orCtrl+Shift+Tab
Move tab forwardCtrl+Shift+.Ctrl+Shift+.
Move tab backwardCtrl+Shift+,Ctrl+Shift+,
Set tab titleCtrl+Shift+Alt+TCmd+Shift+I
Next layoutCycle through the enabled window layouts.Ctrl+Shift+LCtrl+Shift+L

Clipboard 4

ActionLinuxMac
Copy to clipboardOn macOS the Cmd form copies only when text is selected and otherwise passes the key to the running program.Ctrl+Shift+CCmd+C
Paste from clipboardCtrl+Shift+VCmd+V
Paste from selectionPastes the primary selection, which is filled automatically whenever text is selected, where the platform has one.Ctrl+Shift+SorShift+InsertCtrl+Shift+SorShift+Insert
Pass selection to programHands the selected text to the system open program as a command-line argument.Ctrl+Shift+OCtrl+Shift+O

Scrollback 11

ActionLinuxMac
Scroll line upMoves the view a single line back into the history.Ctrl+Shift+UporCtrl+Shift+KCmd+UporCmd+Option+Page Up
Scroll line downMoves the view a single line towards the newest output.Ctrl+Shift+DownorCtrl+Shift+JCmd+DownorCmd+Option+Page Down
Scroll page upMoves the view back through the history one screenful at a time.Ctrl+Shift+Page UpCmd+Page Up
Scroll page downAdvances a full screen of history at a time towards the latest output.Ctrl+Shift+Page DownCmd+Page Down
Scroll to topJump to the beginning of the scrollback.Ctrl+Shift+HomeCmd+Home
Scroll to bottomJumps back to the newest output at the end of the history.Ctrl+Shift+EndCmd+End
Previous shell promptJumps the view to the prompt before the one shown; needs shell integration.Ctrl+Shift+ZCtrl+Shift+Z
Next shell promptMoves the view forward by one prompt; works only with shell integration.Ctrl+Shift+XCtrl+Shift+X
Open scrollback in pagerBrowse the entire scrollback in less.Ctrl+Shift+HCtrl+Shift+H
Last command outputOpen the previous command's output in the pager (needs shell integration).Ctrl+Shift+GCtrl+Shift+G
Search scrollbackOpens the history in the pager and starts a search there for the currently selected text.Ctrl+Shift+/Cmd+F

Font size and display 9

The background opacity shortcuts do nothing until dynamic_background_opacity is set to yes; it is off by default.

ActionLinuxMac
Increase font sizeAdds 2.0 to the font size in every OS window; the numeric keypad plus works too.Ctrl+Shift+=Cmd++orCmd+=
Decrease font sizeTakes 2.0 off the font size in every OS window; the numeric keypad minus works too.Ctrl+Shift+-Cmd+-
Reset font sizeCtrl+Shift+BackspaceCmd+0
Toggle fullscreenCtrl+Shift+F11Ctrl+Cmd+F
Toggle maximizedCtrl+Shift+F10Ctrl+Shift+F10
Increase background opacityRaises opacity by 0.1; works only when dynamic_background_opacity is set to yes in kitty.conf.Ctrl+Shift+AthenMCtrl+Shift+AthenM
Decrease background opacityLowers opacity by 0.1, making the window more transparent; needs the same dynamic opacity option.Ctrl+Shift+AthenLCtrl+Shift+AthenL
Make background fully opaqueSets opacity straight to 1, removing all transparency.Ctrl+Shift+Athen1Ctrl+Shift+Athen1
Reset background opacityReturns to the default opacity value from the configuration.Ctrl+Shift+AthenDCtrl+Shift+AthenD

Selecting visible text 10

ActionLinuxMac
Open URL with hintsShow hints to open a URL from the screen with the keyboard.Ctrl+Shift+ECtrl+Shift+E
Insert selected pathPick a path or filename shown on screen and have it typed at the cursor.Ctrl+Shift+PthenFCtrl+Shift+PthenF
Open selected pathOpens the picked path with the default open program instead of inserting it.Ctrl+Shift+PthenShift+FCtrl+Shift+PthenShift+F
Insert chosen fileRuns the choose-files kitten and types the picked file into the terminal.Ctrl+Shift+PthenCCtrl+Shift+PthenC
Insert chosen directorySame file chooser in directory mode: the picked folder is typed at the cursor.Ctrl+Shift+PthenDCtrl+Shift+PthenD
Insert selected linePicks a whole line of visible text, handy after one-per-line listings such as ls -1.Ctrl+Shift+PthenLCtrl+Shift+PthenL
Insert selected wordLabels the words on screen and types the ones you choose.Ctrl+Shift+PthenWCtrl+Shift+PthenW
Insert selected hashPicks text that looks like a hash, such as a git commit ID.Ctrl+Shift+PthenHCtrl+Shift+PthenH
Open file at linePicks a filename:linenum match and opens it in your default editor at that line.Ctrl+Shift+PthenNCtrl+Shift+PthenN
Open selected hyperlinkWorks on links a program marked explicitly, for example with ls --hyperlink=auto.Ctrl+Shift+PthenYCtrl+Shift+PthenY

Configuration and tools 8

ActionLinuxMac
Show documentationOpens the overview page of the kitty documentation.Ctrl+Shift+F1Ctrl+Shift+F1
Command paletteLists every mappable action so you can search for one and run it.Ctrl+Shift+F3Ctrl+Shift+F3
Edit kitty.confOpen the config file in your editor.Ctrl+Shift+F2Cmd+,
Reload kitty.confApplies changes made since the last load; a handful of options still need a full restart.Ctrl+Shift+F5Ctrl+Cmd+,
Debug kitty.confPrints the settings kitty actually loaded plus information about the host system.Ctrl+Shift+F6Cmd+Option+,
Open kitty shellOpens a window where you control kitty by typing commands.Ctrl+Shift+EscCtrl+Shift+Esc
Unicode inputInsert any character by name or code point.Ctrl+Shift+UCtrl+Cmd+Space
Reset the terminalActs on the current kitty window only, not on every open one.Ctrl+Shift+DeleteCmd+Option+R

Mouse actions 9

When a terminal program has grabbed the mouse, hold Shift to make kitty do the selecting.

ActionLinuxMac
Open URL under pointerAt a shell prompt, a click moves the cursor there instead when shell integration is active.ClickClick
Open link immediatelySkips the short wait a plain click needs to rule out a double click; also works in mouse-grabbing programs.Ctrl+Shift+ClickCtrl+Shift+Click
Select wordKeep dragging after the second click to extend the selection word by word.Double-clickDouble-click
Select lineDragging afterwards extends the selection one line at a time.Triple-clickTriple-click
Select to end of lineStarts at the clicked character rather than at the beginning of the line.Ctrl+Alt+Triple-clickCtrl+Option+Triple-click
Extend selectionMoves the nearest edge of an existing selection to the clicked position.Right-clickRight-click
Select rectangular blockSelects a column-shaped block instead of whole lines.Ctrl+Alt+DragCtrl+Option+Drag
Paste primary selectionAvailable only on platforms that provide a primary selection.Middle-clickMiddle-click
Show clicked command outputOpens that output in the pager; requires shell integration.Ctrl+Shift+Right-clickCtrl+Shift+Right-click

Mac only 13

ActionLinuxMac
Close OS windowCloses the whole OS window with all its tabs.—Cmd+Shift+W
Clear to startClears the screen above the cursor line or the current prompt; needs shell integration.—Cmd+K
Clear scrollbackErases the stored history of the current window.—Cmd+Option+K
Clear the last commandRemoves the most recent command together with its output; needs shell integration.—Cmd+L
Clear screenLike Cmd + K, but the cleared lines are pushed into the scrollback instead of being lost.—Ctrl+Cmd+L
Toggle secure keyboard entry—Cmd+Option+S
Cycle through OS windows—Cmd+`
Cycle OS windows backwards—Cmd+Shift+`
Open kitty website—Cmd+Shift+/
Hide kitty—Cmd+H
Hide other applications—Cmd+Option+H
Minimize window—Cmd+M
Quit kitty—Cmd+Q

Notes

In kitty, a “window” is a split

Kitty's naming trips everyone once: an OS window contains tabs, and each tab contains kitty windows — which are what other terminals call panes or splits. So Ctrl + Shift + Enter opens a new split in the current tab, Ctrl + Shift + ] and Ctrl + Shift + [ cycle between splits, and Ctrl + Shift + L cycles the layout — the arrangement pattern (stacked, tall, grid, and friends) that governs how those splits tile. Tabs ride on Ctrl + Shift + T / Ctrl + Shift + Q with Ctrl + Shift + Left and Ctrl + Shift + Right to move between them and Ctrl + Shift + Alt + T to retitle.

Scrollback is where kitty shows off. Ctrl + Shift + H opens the entire history in a pager, so you search and navigate megabytes of output with familiar less keys. Better still, Ctrl + Shift + G opens just the last command's output — the exact thing you usually want — and Ctrl + Shift + E overlays hint labels on visible URLs so you can open one without touching the mouse.

Config round-trips in seconds

Ctrl + Shift + F2 opens kitty.conf in your editor and Ctrl + Shift + F5 reloads it live — the edit-reload loop for trying fonts, colors, and keybindings without restarting. Font size adjusts on Ctrl + Shift + = / Ctrl + Shift + - with Ctrl + Shift + Backspace resetting, Ctrl + Shift + F11 toggles fullscreen, and Ctrl + Shift + U opens Unicode input for the character you can never remember how to type.

Questions

I pressed “new window” and got a split, not a window. Why?

Kitty terminology: a kitty window is a split inside a tab; what you were expecting is an OS window. Ctrl + Shift + Enter deliberately creates the split kind — it is the pane-management workhorse, and the layout system (Ctrl + Shift + L) decides how the splits arrange themselves.

Ctrl + Shift + G shows nothing. What is missing?

Last-command-output needs kitty's shell integration, which marks where each prompt begins and ends. It is enabled by default on recent installs for common shells; if your setup strips it (custom prompt frameworks sometimes do), re-enable shell_integration in kitty.conf and the key comes alive.

What are layouts, concretely?

Preset tiling patterns for the splits in a tab — one big pane with a stack beside it, an even grid, everything fullscreen-stacked, and so on. Ctrl + Shift + L cycles through the enabled ones; the enabled_layouts option in kitty.conf controls which patterns participate and in what order.

What is the pager scrollback for when I can already scroll?

Scrolling shows history; Ctrl + Shift + H makes it searchable and navigable — the whole buffer opens in your pager, so slash-search, jump-to-top, and copy work exactly as in less. For the common case, Ctrl + Shift + G skips straight to the previous command's output.

How do I open a URL without the mouse?

Ctrl + Shift + E enters hints mode: every visible URL gets a short letter label, and typing a label opens that link. The same hints machinery can be configured to grab paths, words, or line contents — the URL binding is just the default everyone learns first.

Sources and checks

Every row on this page was matched to a line in the documentation above on . A binding that could not be found there is not listed.

Found a wrong or missing key? Tell us and it gets checked against the source. How we verify describes the process and its limits.