# Introduction (/docs/v0.1)



koshi is a terminal multiplexer. 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.

Each pane holds its own process, its own terminal screen, and its own
scrollback. Tabs hold layouts of panes. A session holds tabs.

## What is built in [#what-is-built-in]

Panes, tabs, layouts, keybindings, themes, and saved sessions ship with the
program. There is no plugin to install before koshi becomes useful.

* **Panes** — split left, right, up, or down; stack several in one slot;
  fullscreen one and restore the layout afterwards.
* **Tabs** — create, close, move, and switch.
* **Keyboard** — multi-key shortcuts, a leader you choose, on-screen hints, and
  conflict checks.
* **Mouse** — focus panes, drag borders, scroll, select text, copy through
  OSC 52 even over SSH.
* **Config** — four optional KDL files for settings, colours, keys, and saved
  layouts.
* **Control from a shell** — open panes, move tabs, send input, and inspect a
  running session from outside it.

## Requirements [#requirements]

|                      |                                    |
| -------------------- | ---------------------------------- |
| Platforms            | Linux, macOS, Windows              |
| Architectures        | x86-64, ARM64                      |
| Terminal             | true colour and 256-colour support |
| Building from source | Rust 1.96                          |

## Next [#next]

<Cards>
  <Card title="Installation" href="/docs/v0.1/installation" description="Homebrew, Scoop, the release script, or from source." />

  <Card title="Quick start" href="/docs/v0.1/quick-start" description="One session, one split, one tab." />

  <Card title="Configuration" href="/docs/v0.1/configuration" description="The four KDL files, field by field." />

  <Card title="CLI" href="/docs/v0.1/cli" description="Every command and what it prints." />
</Cards>
