Your company here — click to reach over 10,000 unique daily visitors

kitten-@-new-window - Man Page

Open new window


kitten @ new-window [CMD ...]


DEPRECATED: Use the launch command instead.

Open a new window in the specified tab. If you use the --match option the first matching tab is used. Otherwise the currently active tab is used. Prints out the id of the newly opened window (unless --no-response is used). Any command line arguments are assumed to be the command line used to run in the new window, if none are provided, the default shell is run. For example::

   kitten @ new-window --title Email mutt


--match,  -m

The tab to match. Match specifications are of the form: field:query. Where field can be one of: id, index, title, window_id, window_title, pid, cwd, cmdline env, var, state and recent. 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 all tabs.

For 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, in particular, -1 is the most recently created tab/window.

When using title or id, first a matching tab is looked for, and if 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 is used to match the nth tab in the currently active OS window. The recent number matches recently active tabs in the currently active OS window, with zero being the currently active tab, one the previously active tab and so on.

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. Tabs containing any window with the specified environment variables are matched. Similarly, var matches tabs containing any window with the specified user variable.

The field state matches on the state of the tab. Supported states are: active, focused, needs_attention, parent_active and parent_focused. Active tabs are the tabs that are active in their parent OS window. There is only one focused tab and it is the tab to which keyboard events are delivered. If no tab is focused, the last focused tab is matched.

Note that you can use the kitten @ ls command to get a list of tabs.


The title for the new window. By default it will use the title set by the program running in it.


The initial working directory for the new window. Defaults to whatever the working directory for the kitty process you are talking to is.

--dont-take-focus,  --keep-focus

Keep the current window focused instead of switching to the newly opened window.

--window-type [=kitty]

What kind of window to open. A kitty window or a top-level OS window.

Choices: kitty, os


Open a new tab.


Set the title of the tab, when open a new tab.


Don't wait for a response giving the id of the newly opened window. Note that using this option means that you will not be notified of failures and that the id of the new window will not be printed out.

--help,  -h

Show help for this command

Global options


An address for the kitty instance to control. Corresponds to the address given to the kitty instance via the --listen-on option or the listen_on setting in kitty.conf. If not specified, the environment variable KITTY_LISTEN_ON is checked. If that is 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.


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 in kitty.conf. To use a blank password specify --use-password as always.

--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. Used if no --password is supplied. Defaults to checking for the rc-pass file 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-file is supplied. Defaults to checking the environment variable KITTY_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 to always and no password is provided, the blank password is used.

Choices: if-available, always, never

Referenced By


Jun 22, 2024 0.35.2 kitten Manual