kitten-@-kitten(1)
π NAME π
okay so bestie, this is kitten-@-kitten β the manual page for running a kitten, fr fr π
(also the manual name is kitten, and the whole thing lives under kitten-@-kitten(1) if you were wondering π)
β¨ USAGE β¨
kitten @ kitten kitten_name
that's it. that's the vibe. π¦
π DESCRIPTION π
so like, this runs a kitten over the windows you tell it to β and if you don't tell it anything, it just does the active window by default, no cap π«Ά
the kitten_name can be either:
- the name of a builtin kitten, or
- a path to a Python file containing a custom kitten β¨
if you give it a relative path, it goes looking for it in the kitty config directory, iykyk π
and here's the cute lil detail: if the kitten is a no_ui kitten and its handle response method returns a string or a boolean, that gets printed out to stdout. iconic behaviour honestly π
π OPTIONS π
--match,-mβ the window to match, bestie. match specifications look like this:field:queryβ where field can be one of:id,title,pid,cwd,cmdline,num,env,var,state,neighbor,sessionandrecent. and query is the expression to match. expressions can be either a number or a regular expression, and can be combined using Boolean operators π§
the special value all matches, you guessed it, all windows π
for the numeric fields β id, pid, num and recent β the expression is interpreted as a number, not a regular expression. Negative values for id match from the highest id number down, and in particular, -1 is the most recently created window πΈ
the field num refers to the window position in the current tab, starting from zero and counting clockwise (this is the same as the order in which the windows are reported by the kitten @ ls command). slay, consistent π
the window id of the current window is available as the KITTY_WINDOW_ID environment variable π
the field recent refers to recently active windows in the currently active tab, with zero being the currently active window, one being the previously active window and so on β
the field neighbor refers to a neighbor of the active window in the specified direction, which can be: left, right, top or bottom π¦
the field session matches windows that were created in the specified session. use the expression ^$ to match windows that were not created in a session, and . to match the currently active session, and ~ to match either the currently active session or the last active session when no session is active π
when using the env field to match on environment variables, you can specify only the environment variable name or a name and value, for example, env:MY_ENV_VAR=2 π
similarly, the var field matches on user variables set on the window. you can specify name or name and value as with the env field π
the field state matches on the state of the window. supported states are: active, focused, needs_attention, parent_active, parent_focused, focused_os_window, self, overlay_parent. so like β active windows are the windows that are active in their parent tab. there is only one focused window and it is the window to which keyboard events are delivered. if no window is focused, the last focused window is matched. the value focused_os_window matches all windows in the currently focused OS window. the value self matches the window in which the remote control command is run. the value overlay_parent matches the window that is under the self window, when the self window is an overlay π₯
ngl, you can use the kitten @ ls command to get a list of windows. super handy, keep it in your back pocket π«Ά
--help,-h [=no]β show help for this command β¨
π GLOBAL OPTIONS π
--toβ an address for the kitty instance to control. corresponds to the address given to the kitty instance via the--listen-onoption or thelisten_onsetting inkitty.conf. if not specified, the environment variableKITTY_LISTEN_ONis checked. if that's also not found, messages are sent to the controlling terminal for this process, i.e. they will only work if this process is run within a kitty window π--passwordβ a password to use when contacting kitty. this will cause kitty to ask the user for permission to perform the specified action, unless the password has been accepted before or is pre-configured inkitty.conf. to use a blank password specify--use-passwordasalwaysπ--password-file [=rc-pass]β a file from which to read the password. trailing whitespace is ignored. relative paths are resolved from the kitty configuration directory. use-to read from STDIN. usefd:numto read from the file descriptornum. used if no--passwordis supplied. defaults to checking for therc-passfile in the kitty configuration directory π--password-env [=KITTY_RC_PASSWORD]β the name of an environment variable to read the password from. used if no--password-fileis supplied. defaults to checking the environment variableKITTY_RC_PASSWORDπΈ--use-password [=if-available]β if no password is available, kitty will usually just send the remote control command without a password. this option can be used to force it to always or never use the supplied password. if set toalwaysand no password is provided, the blank password is used π
choices: if-available, always, never π¦
and that's the whole page bestie, go run some kittens πβ¨
version0.49.2, datedOct 01, 2026β from thekittenmanual, mwah ππ
π¦ where this page comes from
- arch rolling: kitty 0.49.2-1 Β· GPL-3.0-only
- nixpkgs unstable: kitty-bin 0.49.2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms