# Koshi 0.6.0 — Koshi FAQ (/docs/v0.6/faq)



Short answers to what people ask before installing koshi. Each one links to the
page that covers it in full.

## What is koshi? [#what-is-koshi]

koshi is a terminal multiplexer written in Rust. It runs several shells and
programs inside one terminal window and handles pane layouts, tabs, terminal
emulation, scrollback, keyboard shortcuts, mouse input, and process cleanup. It
is MIT licensed and runs on Linux, macOS, and Windows, on x86-64 and ARM64.

See [Introduction](/docs/v0.6/index).

## Does my work survive closing the terminal? [#does-my-work-survive-closing-the-terminal]

Yes. A koshi session runs in its own process, so closing the terminal, losing
an SSH link, or pressing the quit shortcut leaves every pane running. Run
`koshi attach` to rejoin it, from the same machine or another one.

See [Attach and detach](/docs/v0.6/using/attach-and-detach).

## Can two people use one koshi session at the same time? [#can-two-people-use-one-koshi-session-at-the-same-time]

Yes. Several terminals can attach to one session at once, and each keeps its
own focused pane, active tab, fullscreened pane, scroll position, text
selection, lock mode, theme, and keybindings. One person can switch to tab 2
while the other stays on tab 1, and neither moves the other's screen.

See [Your keys, your view](/docs/v0.6/using/per-client).

## Do my keybindings follow me to another machine? [#do-my-keybindings-follow-me-to-another-machine]

Yes. The terminal you sit at reads your own `keybinding.kdl` and decides what
each key means, then sends the session the action name —
`core:new-pane-right` — never the key itself. A session on another machine
works the same way, so you never edit a keybinding file on the far end.

See [Your keys, your view](/docs/v0.6/using/per-client).

## Can koshi attach to a session on another machine? [#can-koshi-attach-to-a-session-on-another-machine]

Yes. `koshi attach --remote <server>` attaches over TLS. The first connection
gives the fingerprint of the server's certificate, which `koshi share grant`
prints on the server, and a connection to a server presenting a different
certificate is refused. Access is granted with a token you scope to one
session or all of them, and revoke at any time. A dropped link dials again for
up to two minutes and restores your tabs, focus, and scroll position.

See [Remote sessions](/docs/v0.6/remote) and the
[setup walkthrough](/docs/v0.6/remote/setup).

## Can I move an existing pane? [#can-i-move-an-existing-pane]

Yes. Press <kbd>\<C-p></kbd> <kbd>m</kbd> to preview a swap or an insertion
beside another pane, including in another visible tab. Enter accepts the move
and Escape cancels it. `koshi move-pane` swaps with a visible neighbor
immediately; `koshi place-pane` moves an existing pane into another tab's
tiled layout.

See [Panes](/docs/v0.6/using/panes).

## Does koshi have floating panes? [#does-koshi-have-floating-panes]

Yes. <kbd>\<C-p></kbd> <kbd>f</kbd> opens a floating pane above the tiled
layout, and <kbd>\<C-p></kbd> <kbd>u</kbd> floats the focused pane or docks
it back. Each attached terminal moves, pins, minimizes, and restores floating
panes on its own screen, and the tray (<kbd>\<C-p></kbd> <kbd>w</kbd>)
lists them all.

See [Floating panes](/docs/v0.6/using/floating-panes).

## How is koshi configured? [#how-is-koshi-configured]

koshi reads four optional KDL files: `koshi.kdl` for app settings,
`themes/<name>.kdl` for colours, `keybinding.kdl` for keys, and
`profile/<name>.kdl` for saved layouts. Each present file declares a schema
version; version 2 is current, and version 1 files migrate automatically when
a session server or router starts. With no files present, built-in defaults
apply. `koshi config check` validates every file and
`koshi config explain <KEY>` describes one setting.

See [Configuration](/docs/v0.6/configuration).

## Can panes show terminal images? [#can-panes-show-terminal-images]

Yes. koshi decodes Kitty graphics protocol, iTerm2 inline images, and Sixel.
Each terminal chooses the protocol it supports. Images keep their placement
through scrolling, scrollback, resizing, and screen switches. A terminal with
no supported protocol shows `terminal image unavailable` in the covered cells.
Set `image-support #false` to disable native image output for that terminal.

See [Terminal images](/docs/v0.6/using/images).

## Does koshi run on Windows? [#does-koshi-run-on-windows]

Yes. koshi ships prebuilt binaries for Linux, macOS, and Windows on x86-64 and
ARM64, and CI tests all three. Install on Windows with Scoop or the PowerShell
release script.

See [Installation](/docs/v0.6/installation).

## Can I control koshi from a shell script? [#can-i-control-koshi-from-a-shell-script]

Yes. Every pane, tab, input, focus, lock, and session operation has a shell
command that works from inside a pane or any other shell, and every list and
inspect command takes `--format json`.

See [CLI conventions](/docs/v0.6/cli).

## How do I update koshi without losing my panes? [#how-do-i-update-koshi-without-losing-my-panes]

Run `koshi update`. It installs the new release and then restarts each
running session into it, keeping the panes, the programs running in them,
and their scrollback; an attached terminal rejoins on its own.
`koshi server-version` shows which sessions moved.

See [Update and versions](/docs/v0.6/cli/update).

## Can other users of my machine reach my sessions? [#can-other-users-of-my-machine-reach-my-sessions]

Only if you turn it on, on Linux or macOS. `allow-other-users #true` in your
`koshi.kdl` lets the other users logged in to the same machine list, attach
to, and kill your sessions, and their own `koshi.kdl` has to say so too. It is
off by default, and has no effect on Windows.

See [Sharing with other users](/docs/v0.6/using/other-users).

## Something was refused. What went wrong? [#something-was-refused-what-went-wrong]

Run `koshi doctor` first — it rates config, shell, terminal, directories,
log files, router, session directory, and remote access, one row each. For a refused
remote connection, every refusal and its fix is listed on one page.

See [Doctor](/docs/v0.6/cli/doctor) and
[Remote troubleshooting](/docs/v0.6/remote/troubleshooting).

## How much does koshi cost? [#how-much-does-koshi-cost]

Nothing. koshi is free and open source under the MIT licence.
