koshi

A terminal multiplexer for panes, tabs, and keyboard-first work.

$brew install gohyuhan/koshi/koshi
Panes / 間

Split it once. Split it again.

Open panes left, right, up, or down. Every pane keeps its own process, screen, and scrollback. Click the layout below and drive it with koshi’s own keys — Ctrl+P then h j k l to split, x to close. Type help in any pane, or exit koshi and launch koshi --profile dev from the mock shell.

S-あおい-かぜ[v0.1.0]BASE
~/Projects/koshi-docs
Koshi demo profile loaded.
Type help for shell commands.
Ctrl+P then h/j/k/l splits panes.
dev@localhost:~/Projects/koshi-docs$
cargo watch
running 128 tests
layout::split_right ... ok
pane::stack_expand ... ok
input::leader_chord ... ok
dev@localhost:~/Projects/koshi-docs$
htop
cpu ▇▇▇▃▁▁ 34%
mem ▇▇▇▇▁▁ 6.2G
pty ▇▁▁▁▁▁ 4
dev@localhost:~/Projects/koshi-docs$
tail -f
GET /docs/v0.1/cli 200
GET /api/search 200
compiled in 77ms
dev@localhost:~/Projects/koshi-docs$
git log
a91f2e3 v0.1.0
4c0dd18 layouts
e77b210 stacked panes
dev@localhost:~/Projects/koshi-docs$
Ctrl +gMouse SelectlLockp+10qQuits+4t+2Alt +fToggle Pane FullscreenShift +TabPrevious TabTabNext Tab
click terminal to type1 tab5 panestry: help · Ctrl+P · Ctrl+S · Ctrl+T · Alt+F · exit
Built in / 道具

Everything a session needs, already here.

Panes

Split, stack, resize by keyboard or by dragging a border, fullscreen one pane and put the rest back. Mouse selections copy through OSC 52 — even over SSH.
<C-p> h j k l<C-s> ←↓↑→Alt+f

Tabs

Create, close, reorder, switch. Each tab holds its own layout.
<C-t> nTab

Keybindings

Multi-key sequences with a leader you choose, on-screen hints, and conflict checks that run before a binding can misfire.
koshi keys conflicts

Configuration

Four small KDL files: settings, colours, keys, saved layouts. Validate and migrate them from the CLI.
koshi config check

Sessions

Drive a running session from any shell — open panes, move tabs, send input, read state as a table or JSON.
koshi list-panes
Colours / 彩

Default, plus twenty-five themes in the box.

Copy one into themes/ and name it in koshi.kdl, or write thirteen colours of your own.

default
ayu-dark
ayu-mirage
catppuccin-frappe
catppuccin-latte
catppuccin-macchiato
catppuccin-mocha
dracula
everforest-dark
gruvbox-dark
gruvbox-light
kanagawa
monokai
nord
one-dark
one-light
rose-pine-dawn
rose-pine-moon
rose-pine
solarized-dark
solarized-light
synthwave-84
tokyo-night-day
tokyo-night-storm
tokyo-night
zenburn
Reference / 書

Docs pinned to the version you run.

Pick a version once. Sidebar, search, and every page follow it, so a flag that lands in a later release never shows up while you are reading this one.