Install and run Yazi.

One command to install. Connect a provider, run a task.

  1. Install with one command

    The installer clones the Yazi repository, builds yazi and yazi-runtime, and links both into ~/.local/bin. It needs git, curl and tar, not Go: if Go is missing or too old, it fetches a toolchain just for the build. Run it again to update.

    curl -fsSL https://yazi.krea.to/install.sh | bash

    To read it first: curl -fsSL https://yazi.krea.to/install.sh -o install.sh && less install.sh && bash install.sh

    Options go after bash -s --: --ref pins a branch, tag or commit, --dir and --bin-dir move the install, --uninstall removes it. --help lists the rest.

    • Linux amd64 · arm64 No glibc dependency. Runs on glibc and musl.
    • macOS amd64 · arm64 arm64 for Apple silicon, amd64 for Intel.
    • Windows not supported Not a release target. Use the Linux build under WSL; the installer refuses Windows and points there.
  2. Connect a provider

    Start Yazi and run /login at the prompt. It supports OpenAI, Anthropic, Google, Amazon Bedrock, Mistral, NanoGPT, Command Code, OpenCode Go and the ChatGPT/Codex subscription, plus any OpenAI-compatible endpoint. Keys are stored once, in auth.json.

    yazi
  3. Run a task

    A one-shot run is the quickest way to check the whole chain works. A correct answer contains Yazi is ready.

    yazi -p "Reply with the words Yazi is ready."

    If yazi is not found, its directory is not on PATH. If it starts but the task fails, run yazi doctor and check the provider credentials and model access.

Build from source Go 1.26

From the root of a local checkout of the Yazi repository. Keep the two outputs together and add their directory to your PATH. The installer does exactly this.

go build -trimpath -o yazi ./cmd/yazi go build -trimpath -o yazi-runtime ./cmd/yazi-runtime

With Nix, run nix run .# from the repository instead. A native SQLite/FTS5 build needs CGO and -tags 'yazi_sqlite_cgo sqlite_fts5'.

Yazi is under active development. Rebuilding context from a checkpoint applies to tracked tasks (a task from a spec attached with /spec); other sessions use ordinary compaction and resume from their transcript. OS, terminal and sandbox compatibility can vary by build.

Command reference

shellsessions
yazi                     # interactive
yazi -p "run the tests"  # one shot
yazi --continue          # resume latest
yazi --resume <id>       # resume by id
yazi --resume <id> --fork
shellcontrol
yazi agents list         # live agents
yazi list --all          # every agent
yazi attach <id>
yazi send <id> "keep going"
yazi stop <id>
shellremote
yazi endpoint add buildbox user@buildbox \
  --remote-cwd /home/user/project
yazi endpoint test buildbox
yazi --endpoint buildbox
shelloperations
yazi doctor              # diagnose
yazi status
yazi schedule list
yazi shutdown
yazi --mode rpc          # machine-readable