kitten-@-new-window(1)
π NAME
ok so this is kitten-@-new-window β the manual page for the Open new window command, straight out of the kitten manual. buckle up bestie, we're opening windows π
β¨ USAGE
kitten @ new-window [CMD ...]
π¦ DESCRIPTION
DEPRECATED: use thelaunchcommand instead. like, seriously,launchis the main character now π
okay so what does it do? it opens a new window in the tab you specify πΈ. if you pass the --match option, the first matching tab gets it. otherwise it just uses the currently active tab, no drama. then it prints out the id of the newly opened window (unless you used --no-response, in which case, silence π€«).
any command line arguments you give it are assumed to be the command line used to run in the new window. if you provide none? the default shell runs. for example:
kitten @ new-window --title Email mutt
π OPTIONS
--match,-mβ the tab to match π―. match specs look likefield:query, where field can be one of:id,index,title,window_id,window_title,pid,cwd,cmdline,env,var,state,sessionandrecent. query is the expression to match. expressions can be either a number or a regular expression, and you can combine them using Boolean operators π₯.
the special value all matches all tabs β¨.
for the numeric fields β id, index, window_id, pid and recent β the expression is interpreted as a number, not a regular expression. negative values for id/window_id match from the highest id number down, so in particular, -1 is the most recently created tab/window π.
when you use title or id, first a matching tab is looked for, and if that's not found, a matching window is looked for, and the tab for that window is used.
you can also use window_id and window_title to match the tab that contains the window with the specified id or title π.
the index number matches the *n*th tab in the currently active OS window. the recent number matches recently active tabs in the currently active OS window β zero is the currently active tab, one is the previously active tab, and so on down the line π«.
the session field matches tabs that were created in the specified session. use the expression ^$ to match windows that were not created in a session, . 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 just the environment variable name, or a name and value, like for example env:MY_ENV_VAR=2. tabs containing any window with the specified environment variables are matched. similarly, var matches tabs containing any window with the specified user variable π·οΈ.
the state field matches on the state of the tab. supported states are: active, focused, needs_attention, parent_active, parent_focused and focused_os_window. active tabs are the tabs that are active in their parent OS window. there is only one focused tab, and it's the tab to which keyboard events are delivered β¨οΈ. if no tab is focused, the last focused tab is matched. the value focused_os_window matches all tabs in the currently focused OS window πͺ.
ngl, handy tip: you can use the kitten @ ls command to get a list of tabs π
--titleβ the title for the new window π·οΈ. by default it'll use the title set by the program running in it.--cwdβ the initial working directory for the new window π. defaults to whatever the working directory is for thekittyprocess you're talking to.--dont-take-focus,--keep-focus [=no]β keep the current window focused instead of switching to the newly opened window π. stay put, bestie.--window-type [=kitty]β what kind of window to open. akittywindow or a top-level OS window πͺ.
choices: kitty, os
--new-tab [=no]β open a new tab β¨.--tab-titleβ set the title of the tab, when you open a new tab π.--no-response [=no]β don't wait for a response giving theidof the newly opened window.
β οΈ heads up: using this option means you will not be notified of failures, and the id of the new window will not be printed out. it's giving ghost mode π»
--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 it's not specified, the environment variableKITTY_LISTEN_ONis checked. and if that's also not found? messages are sent to the controlling terminal for this process β i.e. they'll 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 descriptor num. 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
okay that's literally the whole thing, bestie, you're officially a new-window expert π§π
kitten manual β version 0.49.2, dated Oct 01, 2026 π slay, go open some windows π¦
π¦ 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