Koshi / Rust terminal project
Koshi: Open-Source Rust Terminal Multiplexer
Koshi is a terminal multiplexer written in Rust. Its server keeps terminal sessions, panes, processes, layouts, scrollback, and terminal state together while attached clients keep their own input and view state.
A Rust terminal application
Koshi uses Rust for the terminal session server, terminal emulation, process management, layout, remote protocol, and client implementation.
The project is open source under the MIT license, with source code and release artifacts available from the official repository.
Session and client state
A session owns the running programs and shared pane content. A client owns its focus, active tab, fullscreen state, selection, scroll position, keybindings, and theme.
This boundary lets several clients attach to one session without forcing them to share one screen state.
Terminal behavior
Koshi handles terminal emulation, scrollback, keyboard shortcuts, mouse input, process cleanup, true colour, CJK and emoji, and terminal images.
Terminal images use the protocol supported by each attached terminal, including Kitty, iTerm2, and Sixel.
Remote access
Koshi clients attach to remote sessions over TLS. Access uses revocable tokens, and the client pins the remote certificate to detect a changed server identity.
Build and install
Use a release binary or build Koshi from source with Rust. The installation guide covers Linux, macOS, Windows, Homebrew, Scoop, release scripts, and source builds.
Common questions
Is Koshi written in Rust?
Yes. Koshi is an open-source terminal multiplexer written in Rust.
What does the Rust implementation contain?
The Rust implementation contains the terminal session server, terminal emulation, process management, layout, remote protocol, and client implementation.
Which systems does Koshi support?
Koshi supports Linux, macOS, and Windows on x86-64 and ARM64.