Skip to main content
o4 is one executable file. Install it with the install script, with Homebrew, or by downloading a release archive yourself. All three methods install the same binary from the o4 releases page.

Supported platforms

The Linux binaries are statically linked, so they don’t depend on your distribution’s C library. There is no Windows build, and no build for Intel Macs: the last release with one, o4-macos-x86_64.tar.gz, is 0.2.54. On an Intel Mac, the install script stops at the download step with download failed — does version <version> exist for macos/x86_64?, and Homebrew won’t install o4. To install 0.2.54 there, run the install script with O4_VERSION=0.2.54.

Install

Run:
The script:
  1. Checks that curl, tar, and sha256sum or shasum are installed.
  2. Detects your operating system and architecture, and stops with an error on anything other than macOS or Linux on x86_64 or arm64.
  3. Looks up the latest release, unless you set O4_VERSION.
  4. Downloads the archive for your platform and its .sha256 checksum file.
  5. Checks the archive against the checksum and stops if they don’t match.
  6. Installs the binary as o4 in ~/.local/bin, creating the folder if needed. An existing o4 in that folder is replaced.
  7. Tells you if the install folder isn’t on your PATH (see Add o4 to your PATH).
Two environment variables change what the script does:Set them on the bash side of the pipe, so the script sees them:

Add o4 to your PATH

The install script and the manual steps put o4 in ~/.local/bin. If that folder isn’t on your PATH, the script prints a note and the command to fix it, for example:
The script suggests ~/.zshrc if you have one, then ~/.bashrc. If you have neither, it prints only the export line; add that line to your shell’s startup file. Run the suggested command, then open a new terminal. For zsh, that’s:
For bash, use ~/.bashrc instead of ~/.zshrc. Homebrew installs don’t need this step.

Check the install

This prints the version you installed:
If your shell says command not found, the install folder isn’t on your PATH yet. If you installed o4 more than one way, run which -a o4 to see every copy on your PATH; the first one listed is the one that runs. Next, follow the Quickstart to connect a model and run your first task.

Update o4

Run o4 update. It downloads the latest release, checks it against the published checksum, and replaces the binary you ran:
o4 update --check only reports whether a newer release exists, and o4 update --version 0.2.67 installs that release, even if it’s older. Without --version, o4 never replaces a build that is newer than the latest release. If o4 was installed with Homebrew, o4 update doesn’t replace it and tells you to run brew upgrade open4rena/tap/o4 instead. You can also install again with the method you used before:
Run the install script again. It downloads the latest release and replaces the binary in the install folder.
If you installed into a custom folder, set O4_INSTALL_DIR again.
A session that was already running keeps using the old binary until you restart it. While a session waits at the prompt, o4 checks the file it was started from. If that file has been replaced, o4 shows new o4 installed · restart to update on the second row below the prompt until you restart. Quit, then run the o4 resume <session-id> command from the summary o4 prints when it exits, to continue the same session on the new version.

Uninstall o4

Remove the binary with the method you used to install it:
If you set O4_INSTALL_DIR, remove o4 from that folder instead.
Removing the binary leaves your data in place. o4 keeps your settings, saved API keys, sessions, and logs in ~/.o4. To remove them too:
Deleting ~/.o4 removes every saved session and any API keys you saved in o4. It can’t be undone.
Projects you opened with o4 may also contain a .o4 folder with project settings and data. Those folders stay in place; delete them yourself if you don’t need them.