← Back to all projects

openinterpreter

A Rust fork of the Codex CLI tuned for cheap models — no longer the Python library of the same name

OfficialApache-2.0
Stars
68.2k
Forks
5.9k
Open issues
8
Last commit
20 Aug 2026

What is openinterpreter?

Type `i` in a project directory and it reads your files, edits them and runs commands inside a sandbox you configure. What sets it apart is `/harness`: it swaps the whole model-facing surface — system prompt, tool schema, message conversion — for the one a given vendor tuned its model on, which is how it aims to get usable work out of inexpensive models like DeepSeek or Kimi. The trade-off is what you are actually adopting: this is a fork of OpenAI's Codex CLI, rewritten in Rust and still on the 0.0.x releases it started in June 2026, sharing little more than a name and a repository with the Python Open Interpreter most people have heard of.

What can you do with openinterpreter?

  • Pick the model first, including one that never leaves your machine — /model switches provider and model mid-session. OpenAI, Amazon Bedrock, Ollama and LM Studio are built into the runtime and the remaining hosted providers come from a generated catalogue, so an Ollama or LM Studio setup runs with no key and no subscription.
  • Match the harness to the model with `/harness` — A harness replaces the system prompt, tool schema and message conversion with the surface a vendor tuned its model on — claude-code, kimi-code, deepseek-tui, qwen-code, swe-agent and more. One is inferred from the model you pick, and an explicit choice always wins.
  • Set the sandbox mode and the approval policy separately — Two independent dials: the sandbox mode — read-only, workspace-write or danger-full-access — decides what a command may touch, and the approval policy — untrusted, on-request or never — decides how often it stops to ask. /permissions swaps profiles mid-session: the built-in :read-only, :workspace and :danger-full-access, or your own with per-path read, write and deny rules and a network allowlist that starts empty. The docs describe native enforcement on macOS and Linux, and on Windows once it has been set up, and say the runtime should fail closed rather than silently run unsandboxed.
  • Have it click through the app it just changed — A built-in QA skill drives web apps in a real browser via agent-browser and native desktop apps via trycua, so the session that made the edit can go and test it rather than reporting that it should work.
  • Keep instructions and skills where other agents already look — It reads the repository's AGENTS.md and .agents/skills in place rather than asking you to import them into a private format, and points new personal skills at the shared ~/.agents/skills. The older ~/.openinterpreter/skills folder stays readable so existing setups keep working.
  • Run it from an editor or a script instead of the terminal — interpreter acp turns it into an agent inside Zed, JetBrains IDEs or a community VS Code ACP extension, and interpreter exec runs it non-interactively. It also answers the Codex exec protocol, so an existing Codex SDK app can point its binary path at interpreter.

Before you choose openinterpreter

  • The repository's history and following belong to the original Python library, which now continues as a separate community fork; guides written for that project do not describe this Rust rewrite.
  • Harness emulation is a reimplementation, not a wrapper — the docs state the public runtime does not shell out to the real external agent CLI, so it matches the shape of that tool rather than its behaviour.
  • The Rust rewrite ships on 0.0.x and moves fast: release 0.0.38 in August 2026 hung the in-session model picker for anyone signed in to a provider, and the workaround was reinstalling 0.0.34.Reported in#1875

Star history

17 Aug to 28 Aug · +129

68k68.2k

Frequently asked questions

Is openinterpreter free for commercial use?

openinterpreter is released under the Apache-2.0 licence — OSI-approved open source, which permits commercial use.

How can openinterpreter be deployed?

openinterpreter is available as Runs locally.

Documentation

Reproduced from the openinterpreter/openinterpreter README, published under Apache-2.0. Read the original ↗

[!NOTE] Today: Kimi K3 is here. We have reimplemented the provider-recommended Kimi Code harness in Rust, giving you maximum K3 performance with a Codex-like interface. Kimi Docs →

Installation

macOS and Linux:

curl -fsSL https://www.openinterpreter.com/install | sh

Windows:

irm https://www.openinterpreter.com/install.ps1 | iex

Then type i or interpreter in your terminal to start a session.

Harness Emulation

Open Interpreter is a fork of OpenAI’s Codex, with a focus on emulating the agent harness that gets the best performance out of low-cost models.

Use /harness to switch the active harness:

> /harness

native
claude-code
claude-code-bare
zcode
kimi-code
kimi-cli
qwen-code
deepseek-tui
swe-agent
minimal

Read more in the harness docs and provider setup guides.

ACP compatible, Codex compatible

Open Interpreter works in ACP-compatible editors and clients. Configure the client to launch interpreter acp; see the ACP guide for examples.

Already building with OpenAI’s Codex SDK? Keep the SDK and make a one-line binary override:

-const codex = new Codex();
+const codex = new Codex({ codexPathOverride: "interpreter" });

Open Interpreter speaks the same Codex exec protocol. See the SDK guide and run scripts/test-codex-sdk-compat.sh for a local, provider-free compatibility check.

Portable by default

Open Interpreter should fit into your existing agent setup instead of trapping it in an Open Interpreter-only format. The product goal is to prefer shared, tool-neutral standards and directories, keep user-authored data in readable files, and make moving to or from another compatible agent straightforward.

Today that includes repository AGENTS.md, shared .agents/skills directories, MCP, ACP, and the Codex exec protocol. Product-specific storage under ~/.openinterpreter is reserved for configuration and runtime state that does not yet have a practical shared standard. Legacy product-specific skill directories remain readable for compatibility, but new skills belong in .agents/skills or ~/.agents/skills.

See the portability guide for the current boundary and the rules for evolving it.

Computer Use

Open Interpreter ships with a QA skill that lets any model operate and test interfaces. It can drive web apps in a real browser with agent-browser, or operate and test native apps with trycua.

Features

  • Runs commands inside native sandboxing on macOS, Linux, and Windows.
  • Switches providers and models from the TUI with /model.
  • Inspects or switches Rust-native model harnesses with /harness.
  • Tests web and native apps through the built-in QA skill.
  • Runs as an Agent Client Protocol agent for editors with interpreter acp.
  • Reuses shared AGENTS.md instructions and .agents/skills directories.
  • Keeps product-only config and session state local under ~/.openinterpreter.
  • Supports exec, MCP, skills, hooks, permissions, and AGENTS.md.

Documentation

Provider and model membership is generated, not maintained as Rust lists. From codex-rs, refresh all hosted providers with python3 scripts/write_provider_catalog.py, or repeat --provider <provider-id> to update only selected provider entries. Live model sources require the provider credentials documented in the provider docs.

[!NOTE] This is the new Rust version of Open Interpreter, based on Codex. Looking for the original Python project? It lives on as a community-maintained fork at endolith/open-interpreter.

openinterpreter
Ask AI
GitHub