# Installing **At the end:** `loadout` is on your `PATH`, and `loadout doctor` has told you whether your coding agent was found. ## Before you start - A coding agent: Claude Code or Codex. Loadout starts one; it doesn't install one. If neither is on your `PATH`, step 5 says so, which is the point of it. - Git. - `curl` or `wget` on Linux and macOS, which nearly every machine has. Loadout runs natively on Windows, Linux and macOS, so there's no VM or container to set up. ## Steps ### 1. Run the installer On **Linux or macOS**: ```sh curl -fsSL https://github.com/ntatschner/loadout-cli/releases/latest/download/install.sh | sh ``` It works out your operating system and processor, downloads that build from the latest release, and checks it against the release's `SHA256SUMS` before installing anything, so a damaged or altered download never gets installed. It puts `loadout` in `~/.local/bin`, with the native library the archive carries beside it, and needs no root. The macOS builds aren't signed yet, but a file fetched with `curl` isn't quarantined, so Gatekeeper doesn't block it. Nothing here will ever ask you to turn Gatekeeper off. On **Windows**: ```powershell irm https://github.com/ntatschner/loadout-cli/releases/latest/download/install.ps1 | iex ``` It downloads the MSI for your processor, checks it against `SHA256SUMS` and checks its signature, then installs it per user, with no elevation, into `%LOCALAPPDATA%\Programs\loadout`. The MSI adds that to your `PATH` and makes a Start Menu entry, and the script adds it to the terminal you ran it in too. [Installing](../installing.md) lists the options: a particular version, another prefix, a dry run, or a mirror. ### 2. Or install from a package On **macOS or Linux with Homebrew**: ```sh brew install thecodesaiyan/loadout/loadout ``` It checks the archive against the release's published hash, as `install.sh` does. Update it later with `brew upgrade loadout` rather than `loadout update`, which doesn't know Homebrew installed it. On **Debian, Ubuntu, Fedora or similar**, download the package from the [latest release](https://github.com/ntatschner/loadout-cli/releases/latest): ```sh sudo dpkg -i loadout_0.65.0_amd64.deb ``` On **Windows**, the MSI from the release page installs the same way the script does: ```powershell msiexec /i loadout-0.65.0-win-x64.msi ``` On an ARM machine, take the `arm64` build of any of these. ### 3. Open a new terminal `PATH` changes reach terminals opened after the install, not the one you installed from. ### 4. Check the version ```sh loadout --version ``` You should see one line with the version you downloaded. If it's older, a different `loadout` is earlier on your `PATH` — the one on `PATH` has been found three releases behind the one somebody thought they were running. ### 5. Check what's missing ```sh loadout doctor ``` `loadout doctor` on a new machine, naming which agent it found. ```text $ loadout doctor Loadout Diagnostics Platform + Windows X64 Microsoft Windows 10.0.26200 (win-x64) + Machine EXAMPLE-PC Launcher + Configuration C:\Users\Public\example\AppData\Roaming\Loadout\config.yaml + State C:\Users\Public\example\AppData\Local\Loadout + Logs C:\Users\Public\example\AppData\Local\Loadout\logs + Machine configuration C:\Users\Public\example\AppData\Local\Loadout\machines.yaml Git + Installed git version 2.54.0.windows.1 + Credential helper manager ! Global exclude file not configured; agent files are not globally ignored (spec section 50) (fixable) Workspace + Central workspace not configured; running with local state only Discovery + C:\Users\Public\example\src case-insensitive Secrets + Provider credential-manager Repository + Agent files none tracked ! Pre-commit protection not installed in this clone; hooks are per-clone (fixable) ! Global excludes no global exclude file is configured, so agent files are only kept out of repositories that ignore them individually (fixable) Capabilities + NativeSecretStore credential-manager + PseudoTerminal ConPTY + PseudoTerminalWindowSize ConPTY resize ! UnixFilePermissions Windows has no Unix mode bits; restricted ACLs are applied instead. + DesktopIntegration available, not installed + FileManagerIntegration explorer + Clipboard clip + TerminalSpawning Windows Terminal, PowerShell, Windows PowerShell ! GraphicalSession Output is redirected or no terminal is attached, so prompts are suppressed. + ChildProcessLifetime a job object the kernel closes with the launcher, which takes its children with it however it ends Instructions + Memory content No credential-shaped content in project memory. + Instruction budget No project loads an oversized instruction layer. + Tasks nobody is shown: storefront 2 task(s) are recorded for storefront and its sessions are not shown any of them. Carrying them costs a heading and a line each. (fixable) + Specialist library 104 specialists loaded and valid. Editor + code C:\Program Files\Microsoft VS Code\bin\code.cmd + Profiles could not be read, so nothing here is checked against them Sessions + Running none Teams ! Daemon 1 schedule(s) are written down and nothing is firing them. Start one with: loadout daemon Agents + Claude Code 2.1.280 (Claude Code) at C:\Users\example\.local\bin\claude.exe + Codex codex-cli 0.154.0 at C:\Users\example\AppData\Roaming\npm\codex.cmd Overall: DEGRADED 2 of these can be put right for you: loadout doctor --fix 1 thing(s) here are available and switched off. Nothing is wrong with them: loadout doctor --fix ``` You should see a list of checks, each with its result in words, and the agent it found named. If it says no agent was found, install Claude Code or Codex and run it again. ## If it went wrong - **`loadout` isn't found.** Open a new terminal (step 3). On Linux and macOS, check `~/.local/bin` is on your `PATH`. - **The installer refuses with a checksum mismatch.** The download was damaged or altered on the way. Run it again rather than working round it. - **`install.ps1` says the MSI isn't validly signed.** Don't install it. That file isn't the one the release published. - **`install.sh` refuses on a musl system.** The Linux builds need glibc, so Alpine and similar can't run them. - **Homebrew offers an older version than the release page.** Run `brew update`. Homebrew hadn't refreshed its copy of the tap yet. - **Anything else.** `loadout doctor` names what's wrong, and `loadout doctor --fix` mends what it safely can. ## What this doesn't do - It doesn't install Claude Code or Codex; see [Claude Code's install page](https://code.claude.com/docs/en/setup) or [Codex's install page](https://github.com/openai/codex) for what each needs. - The macOS binary isn't signed or notarised yet. - Nothing updates on its own. `loadout update` checks and installs when you ask; [the installing reference](../installing.md) explains how it verifies an update. ## Next [Your first run](first-run.md)