Install script

On macOS, Linux (glibc), and WSL, install the latest release with the script hosted at loop.soket.ai:
The script detects the OS and CPU, downloads the matching archive from soketlabs/loop releases, verifies the published .sha256, and installs loop to ~/.loop/bin. It skips the download when that version is already installed. It appends that directory to the current shell’s config (~/.zshrc, ~/.bashrc, fish, and the same family of files) when the directory is not already on PATH. Pin v0.3.4, or leave the shell config alone:
--version accepts 0.3.4 or v0.3.4. --no-modify-path leaves the shell config alone. --force reinstalls even when that version is already present. Set LOOP_INSTALL_DIR to choose another directory. A release with no checksum is refused unless LOOP_ALLOW_UNVERIFIED=1. From a clone of this repository, ./install.sh runs the same download. ./install.sh --binary /path/to/loop copies a local binary into the install directory. ./install.sh --help prints the flags. If the new directory is not on PATH yet, start a new shell or run:

Supported platforms

Running the script under Git Bash on Windows is experimental and only updates PATH inside Git Bash. For PowerShell or cmd, download the zip below and add loop.exe to PATH.

Release archives

You can also download an archive yourself from the v0.3.4 release. Verify the installation:
Release binaries are the default build: one agent, sessions, tools, compaction, sandboxing, and MCP. Tracing and /workflow are compile-time features and are not in that binary. Build from source to enable them.

Build from source

Loop requires Rust 1.85+. SQLite is bundled.
The binary is at target/release/loop.

Optional features

Each feature pulls in its crate. Combine them when you want more than one.

Optional: desktop app

loop-desktop needs Rust nightly. It shares config and the harness with the CLI. Live /workflow cards are CLI-only.

Authentication

Sign up at console.soket.ai and create an API key to use Soket in Loop. On first launch, Loop asks you to connect a provider unless a key is already in the environment. Inside the TUI, run /login soket and paste the key:
Or set a key before starting:
Keys typed in /login are stored in ~/.loop/agent/auth.json (mode 0600). Custom endpoints from /login custom are saved in settings.json, not in the shell. Loop does not pick a model for you. After a provider is connected, choose one with /model or pass --model provider/id.

Directory structure

Override the config root with LOOP_CODING_AGENT_DIR.
Print the resolved paths:

Optional: container sandbox

Sandboxed execution needs Podman. The default sandbox mode is off.
See the Sandbox guide.

Next steps

Quick Start

Your first session with Loop.

Providers

Soket, OpenRouter, OpenAI, and custom endpoints.