Provided by: kitty_0.44.0-1_amd64 bug

Name

       kitten-@-detach-window - Detach the specified windows and place them in a different/new tab

Usage

       kitten @ detach-window

Description

       Detach  the  specified  windows  and  either move them into a new tab, a new OS window or add them to the
       specified tab. Use the special value new for --target-tab to move to a new  tab.  If  no  target  tab  is
       specified the windows are moved to a new OS window.

Options

       --match, -m
              The window to match. Match specifications are of the form: field:query. Where field can be one of:
              id,  title,  pid,  cwd,  cmdline, num, env, var, state, neighbor, session 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 windows.

              For  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,  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).

              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 sesison 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.   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.

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

       --target-tab, -t
              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, session 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.

              The  field  session matches tabs 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 sesison 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. 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,  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  is  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.

              Note that you can use the kitten @ ls command to get a list of tabs. Use the special value new  to
              move to a new tab.

       --self [=no]
              Detach the window this command is run in, rather than the active window.

       --stay-in-tab [=no]
              Keep the focus on a window in the currently focused tab after moving the specified windows.

       --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-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.

       --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 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. Use fd:num to read from
              the  file  descriptor num. 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

0.44.0                                            Nov 26, 2025                         kitten-@-detach-window(1)