# Koshi 0.5.0 — Installation (/docs/v0.5/installation)



koshi ships prebuilt binaries for Linux, macOS, and Windows on x86-64 and
ARM64. Pick one method below.

## macOS [#macos]

With Homebrew:

```bash
brew install gohyuhan/koshi/koshi
```

Homebrew adds the koshi tap during installation. Upgrade koshi along with your
other outdated packages:

```bash
brew update
brew upgrade
```

Or upgrade only koshi:

```bash
brew upgrade koshi
```

With the release script:

```bash
curl --proto "=https" --tlsv1.2 -sSfL \
  https://github.com/gohyuhan/koshi/releases/latest/download/install.sh | bash
```

## Linux [#linux]

```bash
curl --proto "=https" --tlsv1.2 -sSfL \
  https://github.com/gohyuhan/koshi/releases/latest/download/install.sh | bash
```

## Windows [#windows]

With PowerShell:

```powershell
powershell -c "irm https://github.com/gohyuhan/koshi/releases/latest/download/install.ps1 | iex"
```

With Scoop:

```powershell
scoop bucket add koshi https://github.com/gohyuhan/scoop-koshi
scoop install koshi/koshi
```

Upgrade after refreshing Scoop:

```powershell
scoop update
scoop update koshi
```

## From source [#from-source]

Building needs Rust 1.96.

```bash
git clone https://github.com/gohyuhan/koshi.git
cd koshi
cargo build --release
./target/release/koshi
```

## Updating in place [#updating-in-place]

```bash
koshi update
```

`koshi 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.

```bash
koshi server-version    # which build each running server runs
```

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

## Check the installation [#check-the-installation]

```bash
koshi doctor
```

One row per check — config, shell, terminal, directories, session log file,
router, session directory, and remote access — each rated `ok`, `warn`, or `fail`. See
[Doctor](/docs/v0.5/cli/doctor).

<Callout>
  Removing koshi later takes more than deleting the binary — config, logs, cache,
  and runtime files live outside the install directory. See
  [Uninstall](/docs/v0.5/uninstall).
</Callout>
