Ouroboros

DOWNLOAD / CURRENT RELEASE

Download Ouroboros.

Choose your platform and download the app. Normal installation does not require cloning the repository, Python, or uv.

Desktop downloads bundle CPython 3.10.22 and SQLite 3.53.1. In-app Update replaces the repository and its packages, not that interpreter: install the app again to get this runtime.

macOS 12+ · Apple silicon only

macOS

Download for macOS (.dmg)

Open the DMG, drag Ouroboros.app to Applications, then launch it from Applications.

Looking at the GitHub release page? Files named SHA256SUMS, release-evidence.json, release-smoke-*.json, and sbom-*.cdx.json are verification evidence, not additional installers.

macOS quick start

  1. Click Download for macOS (.dmg).
  2. Open the DMG and drag Ouroboros.app onto the Applications shortcut.
  3. Open Ouroboros from Applications. If macOS refuses to open it, choose Open Anyway in System Settings → Privacy & Security (on macOS 14 and earlier, right-clicking the app and choosing Open also works).
Ouroboros DMG window with a large arrow from Ouroboros.app to the Applications shortcut and Install CLI.command below

Model access: choose a connected Codex account as the Main model source, configure a supported remote provider API key, or use a local GGUF model. Claude Code and Cursor subscriptions can run delegated coding and review; they are not Main model sources. The first-run wizard guides model access, review policy, and budget setup.

Optional CLI included with the app

The desktop downloads already contain an optional CLI installer. On macOS, after copying the app to Applications, double-click Install CLI.command in the mounted DMG. On Linux use ./Ouroboros/bin/install-ouroboros-cli; on Windows use Ouroboros\bin\install-ouroboros-cli.cmd. The installer creates a user-local ouroboros command without sudo.

Advanced: packaged Linux setup

Install the downloaded Debian package with sudo apt install ./ouroboros_*_amd64.deb, or an RPM with sudo dnf install ./ouroboros-*.x86_64.rpm. Native packages install to /opt/ouroboros, put ouroboros on PATH, and add a desktop entry plus an opt-in systemd user unit. They never enable or start that service during installation.

The AppImage can run from a user-writable path. Pass --cli for the packaged CLI or set APPIMAGE_EXTRACT_AND_RUN=1 when FUSE is unavailable. Chromium and WebKit binaries are bundled, but distro shared libraries remain host dependencies. If needed, extract the AppImage and run ./squashfs-root/usr/lib/ouroboros/_internal/python-standalone/bin/python3 -m playwright install-deps chromium webkit.

Advanced: headless CLI with uv

Use this for a user-level CLI/server install without a checkout. This follows the contribution branch and resolves pyproject.toml; it does not consume the repository's uv.lock.

uv tool install "git+https://github.com/razzant/ouroboros.git@ouroboros"
ouroboros --help
uv tool upgrade ouroboros
# Later: uv tool uninstall ouroboros

Develop or run from source

Clone the repository only to contribute, modify Ouroboros, run tests, or create a lock-verified development environment. Source mode needs Python 3.10 or newer, Git, and uv 0.12.1.

curl -LsSf https://astral.sh/uv/0.12.1/install.sh | sh
# Windows PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.12.1/install.ps1 | iex"
git clone https://github.com/razzant/ouroboros.git
cd ouroboros
uv sync --locked --extra browser --group dev
source .venv/bin/activate
ouroboros server

Verify the download

Proof files vary by release. Check the selected release for its checksums and evidence file, if present. Releases built by the current workflow also include CycloneDX SBOMs, packaged smoke receipts, and GitHub attestations. install.json gives machine-readable release discovery, artifact name templates, and accepted proof filenames.