Install
The fastest way to get Open Interpreter is the install script. It downloads
the right binary for your platform and puts interpreter on your PATH.
curl -fsSL https://openinterpreter.com/install | shirm https://openinterpreter.com/install.ps1 | iexAfter it finishes, restart your shell and run:
interpreter --versionSystem requirements
| Item | Minimum |
|---|---|
| Operating system | macOS 12+, Ubuntu 20.04+/Debian 10+, or 64-bit Windows 10/11 |
| RAM | 4 GB (8 GB recommended) |
| Git | 2.23+ if you want the built-in PR helpers |
Updating
Open Interpreter checks for updates in the background and stages new releases automatically. To update right now:
/updateRun it from inside a session, or rerun the install script.
DotSlash
Releases include a DotSlash descriptor named
interpreter. Commit it to a repo and every contributor runs the same
version of the binary, no matter their platform.
Build from source
You only need this if you want to develop on the CLI itself.
git clone https://github.com/openinterpreter/open-interpreter.git
cd open-interpreter/codex-rscurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
rustup component add rustfmt clippycargo install just
cargo install --locked cargo-nextestcargo build
cargo run --bin interpreter -- "explain this codebase to me"The root justfile has the everyday workflow shortcuts:
just fmt
just fix -p <crate-you-touched>
just testAvoid --all-features for routine local runs. It bloats target/ and slows
the build down for little benefit. Use it only when you specifically need
full feature coverage.
Verbose logging
Open Interpreter is written in Rust and honors the RUST_LOG environment
variable.
The TUI defaults to RUST_LOG=codex_core=info,codex_tui=info,codex_rmcp_client=info
and writes logs to:
~/.openinterpreter/log/interpreter-tui.logTail it in another terminal while you work:
tail -F ~/.openinterpreter/log/interpreter-tui.logFor a single run, override the directory with -c log_dir=...:
interpreter -c log_dir=./.interpreter-loginterpreter exec defaults to RUST_LOG=error and prints messages inline,
so you do not need a separate log file.
See the RUST_LOG reference
for the full filter syntax.