Installation
Install koshi on Linux, macOS, or Windows with Homebrew, Scoop, the release script, or from source.
koshi ships prebuilt binaries for Linux, macOS, and Windows on x86-64 and ARM64. On Linux the prebuilt binary needs glibc 2.34 or newer, such as Ubuntu 22.04 or Debian 12 and newer. Pick one method below.
macOS
With Homebrew:
brew install gohyuhan/koshi/koshiHomebrew adds the koshi tap during installation. Upgrade koshi along with your other outdated packages:
brew update
brew upgradeOr upgrade only koshi:
brew upgrade koshiThe release script does not install on macOS: it prints the Homebrew command
and stops. A koshi the release script installed earlier stays in
/usr/local/bin and updates with koshi update. To move it to Homebrew,
delete it with sudo rm -f /usr/local/bin/koshi, then run the Homebrew
command.
Linux
curl --proto "=https" --tlsv1.2 -sSfL \
https://github.com/gohyuhan/koshi/releases/latest/download/install.sh | bashWindows
With PowerShell:
powershell -c "irm https://github.com/gohyuhan/koshi/releases/latest/download/install.ps1 | iex"Run the same command to upgrade, also while koshi runs. The script checks that
the new koshi.exe prints the release's version before it replaces anything,
then renames the installed one to koshi.old (or koshi.1.old and onward
while a koshi still runs from an older backup). Each interactive launch removes
the backups no koshi runs from.
With Scoop:
scoop bucket add koshi https://github.com/gohyuhan/scoop-koshi
scoop install koshi/koshiUpgrade after refreshing Scoop:
scoop update
scoop update koshiFrom source
Building needs Rust 1.96.
git clone https://github.com/gohyuhan/koshi.git
cd koshi
cargo build --release
./target/release/koshiUpdating in place
koshi updatekoshi update installs the newer release the way koshi was installed: through
brew for a Homebrew install, and by replacing the program file for a Scoop or
release script install. It then restarts each running session into the
installed build, keeping its panes, the programs in them, and their scrollback,
and an attached terminal rejoins on its own. A session that refuses the restart
is named on standard error and keeps the old build until you end it and start
it again.
scoop update koshi skips koshi while any koshi from that install runs; run
koshi update instead. After a plain brew upgrade, each running session
restarts into the new koshi at the next koshi command that reaches it.
koshi server-version # which build each running server runsSee Update and versions.
Check the installation
koshi doctorOne row per check — config, shell, terminal, directories, log files, router,
session directory, and remote access — each rated ok, warn, or fail. See
Doctor.
Removing koshi later takes more than deleting the binary — config, logs, cache, and runtime files live outside the install directory. See Uninstall.
Koshi Terminal Multiplexer
Open-source Rust terminal multiplexer for persistent sessions, floating and movable panes, tabs, notifications, per-client views, remote access, and terminal images.
Quick start
Open a koshi session, split a pane, add a tab, detach, and come back — the whole loop in a minute.