Install the Labor0 CLI

Download the combined archive containing l0, labor0-runner, .agents/runner-skills, and THIRD_PARTY_NOTICES.txt. Keep this complete bundle together for installation and every update.

You need permission to install or update the CLI on the computer you control. If your organization manages software installation, ask the device administrator before changing PATH.

Download the release from ZephyrCloudIO/labor0-releases. If Labor0 supplies a tag such as v1.2.3, choose the release whose CLI assets use labor0-cli-v1.2.3; otherwise choose the newest release with a matching labor0-cli_<tag>_SHA256SUMS asset rather than relying on the repository-wide Latest label.

Select and verify an archive

Choose the archive matching both your operating system and CPU:

PlatformArchive
Linux x64labor0-cli_<tag>_linux_amd64.tar.gz
Linux arm64labor0-cli_<tag>_linux_arm64.tar.gz
macOS Intellabor0-cli_<tag>_darwin_amd64.tar.gz
macOS Apple siliconlabor0-cli_<tag>_darwin_arm64.tar.gz
Windows x64labor0-cli_<tag>_windows_amd64.zip
Windows arm64labor0-cli_<tag>_windows_arm64.zip

Download the matching labor0-cli_<tag>_SHA256SUMS file from the same release. On macOS or Linux, verify the selected archive with:

tag='v1.2.3'
archive="labor0-cli_${tag}_darwin_arm64.tar.gz"
checksums="labor0-cli_${tag}_SHA256SUMS"
grep -F "  ${archive}" "$checksums" | shasum -a 256 -c -

Replace the archive name for another platform. In PowerShell, use:

Get-FileHash .\labor0-cli_<tag>_windows_amd64.zip -Algorithm SHA256

Compare the result with the matching checksum-file line. Do not extract or run an archive after a mismatch.

Extract the complete bundle

Create a fresh bundle directory for each install or update. For example, after replacing the tag and archive values, extract a macOS/Linux archive with:

tag='v1.2.3'
archive="labor0-cli_${tag}_darwin_arm64.tar.gz"
bundle_dir="labor0-cli-${tag}"
mkdir "$bundle_dir"
tar -xzf "$archive" -C "$bundle_dir"

For Windows, use Expand-Archive -Path .\<archive> -DestinationPath .\labor0-cli. The resulting directory must contain both executables, the .agents/runner-skills tree, and THIRD_PARTY_NOTICES.txt. Do not move only l0 or only labor0-runner.

Add the executable to PATH

Put the extracted directory on your user PATH, then open a new terminal. Confirm the visible result with:

l0 version
labor0-runner version

Both commands must report the same release version. If the shell cannot find l0, use the executable from its extracted directory while correcting the user PATH; do not download a second partial bundle.

Recover platform warnings

The release archives are not signed. After checksum verification, macOS may require Finder Open to approve a Gatekeeper warning. Windows may require More info > Run anyway in SmartScreen. These actions are safe only after the SHA-256 check succeeds; never bypass a checksum mismatch.

Update the full bundle

Check the current version with l0 version, download the new archive and checksum file, then stop the current process: use l0 service stop when a current-user login service is installed, or l0 runner stop --workspace <workspace-id> for a session runner. Verify and extract the new archive, then replace the entire old bundle. Include both executables, skills, and notices. Start again with l0 runner start --workspace <workspace-id> or l0 service start. If a login service points to the old extracted directory, run l0 service install again from the new directory before starting it.

The visible completion evidence is a matching l0 version and labor0-runner version, followed by l0 runner status --workspace <workspace-id> reporting the runner as running.

What ready looks like

The bundle is ready when the checksum matches, both version commands agree, and the complete bundle layout is present.