Back to guides
Coding agents·September 21, 2026·11 min read

Open Interpreter alternatives: current agent, legacy Python and migration

Settle which Open Interpreter you are leaving first — the Rust coding agent, the frozen Python tool, or the desktop app — then pick the route that fits.

Last reviewed on .

Before you shop for Open Interpreter alternatives, settle which Open Interpreter you are leaving: the name now belongs to a Rust terminal coding agent that is a fork of OpenAI's Codex, while the Python tool that ran generated code on your own machine is frozen at 0.4.3 from October 2024 and is no longer maintained by the project. Every generation of it is free and open source, so this is never a licence-price decision — it is a decision about which program you want, and the only recurring cost is the model API you point it at.

Two redirects hide the split. Requesting the old repository path OpenInterpreter/open-interpreter through the GitHub API returns openinterpreter/openinterpreter, language Rust, and docs.openinterpreter.com answers HTTP 308 to the Rust terminal docs. A 2023 or 2024 tutorial's links still resolve; they just deliver documentation for a different program, describing commands the installed binary does not have. Both checked September 18, 2026.

One name, three programs, plus a dead package

What it isLanguage and licenceHow it installsState on September 18, 2026
Open Interpreter — the current terminal agent, a fork of OpenAI's CodexRust, Apache-2.0Shell installer: curl -fsSL https://www.openinterpreter.com/install | shNot archived, 68,379 stars, last push September 15, 2026. Latest release rust-v0.0.44, published September 15, 2026
Open Interpreter Classic — the Python assistant almost every write-up describesPython, AGPL-3.0pip install open-interpreterFrozen at 0.4.3, uploaded October 26, 2024, not yanked. Upstream no longer maintains it
endolith/open-interpreter — the community fork the project itself points atPython, AGPL-3.0pip install git+https://github.com/endolith/open-interpreter.git@classic/developActive, last push September 17, 2026, 33 stars. Never republished to PyPI
Interpreter Workstation — a separate desktop product under the same brandTypeScript, Apache-2.0Platform downloads from the project siteCreated August 1, 2026, last push September 15, 2026
The npm package open-interpreternpm i open-interpreter installs a placeholderVersion 0.0.0, a single publish on September 23, 2023, from a different repository. Not this product

The redirect from the old repository path is why the split is easy to miss. The current README states it in a single line near the bottom — "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." Note the licence changed with the rewrite as well, from AGPL-3.0 to Apache-2.0, which matters if you vendored the old code. The organisation also holds the dormant 01 voice project, last pushed November 2024, plus 01-app and aifs, neither touched since 2024. None of the three is archived, and none of them is current either.

Open Interpreter pricing: there is none, and three numbers are not it

There is no plan, seat, quota or account. openinterpreter.com/pricing returned HTTP 404 on September 18, 2026; the terminal install, quickstart and configuration pages contain no price, subscription or billing text; and the desktop product's own README says it "does not require an Interpreter account". That is an absence-of-evidence conclusion — no pricing page found, rather than a promise from the project that none will appear — but it is the honest answer to "open interpreter pricing": the only recurring cost is model tokens.

The prices that dominate this search belong to other products. Keep them out of your budget:

Number you will findWhat it actually pricesWhy it is not Open Interpreter
$0.03 / $0.12 / $0.48 / $1.92 per 20-minute session, by container memory, billed by the minute at a 5-minute minimum (OpenAI API pricing)OpenAI's hosted Code Interpreter toolA remote sandbox rented by the minute. Open Interpreter executes on your own machine and charges nothing for execution
$0.05 per hour per container after 1,550 free hours per organisation per month, 5-minute minimum, free alongside web search or web fetch (code execution tool)Anthropic's code execution toolAlso a hosted container, billed on execution time rather than tokens
Any ChatGPT subscription tier quoted as "the price of Code Interpreter"Consumer ChatGPT plan access, a different product againThis page prints no ChatGPT plan price: the official pricing page refused the fetch on September 18, 2026, so no figure was verified and none is quoted

Both tool prices checked September 18, 2026.

Which alternative fits which user

Why you are leavingWhere to goWhat you accept
You want the Python interpreter that ran code in a chat loop, and the rewrite took it awayThe endolith fork, installed from git — upstream points there itselfA 33-star personal fork whose own README describes the default branch as "piling up vibe-coded changes (of dubious quality)" — the same paragraph adds that the maintainer uses it very frequently and it works pretty well. Never republished to PyPI, so no pinned release to install
You want an actively maintained terminal coding agent and do not care about the Python lineageThe current Open Interpreter. Its README describes it as a fork of Codex focused on emulating the harness that gets the best performance out of low-cost modelsA rewrite of everything: new install path, new config format, new command surface. No 2024 instruction transfers
You already run Codex CLI and want cheaper models under the same muscle memoryThe current Open Interpreter, which reads the same [model_providers.<id>] TOML shape and accepts two transports upstream Codex does notA different config home (~/.openinterpreter/), a harness layer to learn, and no documented ChatGPT sign-in for a custom provider — the docs list it only for the built-in openai provider
You want a desktop application rather than a terminalInterpreter Workstation, a separate TypeScript product configured through Settings → Models → New Model → Custom endpoint, with Base URL, API Key and Model ID fields instead of TOMLA younger codebase — created August 2026 — and settings that do not share the terminal agent's config file. Its "Use Chat Completions" checkbox defaults to off, so a chat-only endpoint needs it switched on
You want a different client entirelyAider, OpenCode, Cline and Codex CLI each take a custom endpoint, though not on the same wire — Codex CLI needs a Responses route; see the AI agent API directoryEach has its own protocol boundary. Aider pricing, OpenCode alternatives and Claude Code alternatives cover the trade-offs

What migrates, and what does not

Nothing carries from the Python generation. The flags, the Python API surface, the YAML and Python profile files and the LiteLLM model-name convention are all gone. What does carry is Codex-shaped and standards-shaped setup, which the project documents deliberately on its migrate page:

What you haveWhere it landsEffort
Agent instructionsAGENTS.mdAlready a shared convention; usually nothing to do
Skills.agents/skills/ or ~/.agents/skills/None — the docs state skills already in those shared locations are read in place
MCP servers[mcp_servers] in the configCopy, then re-check any server with custom auth, headers or transports
Hookshooks.json or inline [hooks]Copy, then read every hook that runs a local command before trusting it
Subagents[agents] configRewrite into the config block
Provider and model choice~/.openinterpreter/config.toml or .openinterpreter/config.tomlWritten from scratch — see the next section
Anything from Python 0.4.3: --api_base, --api_key, --model openai/…, profilesNowhereDiscard. The concepts survive; none of the syntax does

Check the binary-name collision before you install. The legacy 0.4.3 wheel declares four console scripts — interpreter, i, interpreter-classic and wtf — while the current installer places interpreter, i and codex-code-mode-host in ~/.local/bin, per the install page. If you ever ran pip install open-interpreter, two different programs are now competing for two of those names, interpreter and i, and which one wins depends on shell precedence. Run which -a interpreter, which -a i and interpreter --version first, and again after installing.

Rollback. Back up ~/.openinterpreter/ before you change providers — the documented uninstall loop removes the managed standalone install but deliberately keeps that directory, including configuration, sessions, logs and file-stored credentials, so reinstalling restores your setup. Going the other way, keep the legacy virtualenv intact rather than deleting it: 0.4.3 is still on PyPI, but pinning an old dependency set again later is not guaranteed to resolve.

Pointing the current agent at an OpenAI-compatible endpoint

This is the sentence that matters most if you arrive from our Codex CLI setup, which tells you wire_api has exactly one legal value. That rule is true of upstream Codex and false of Open Interpreter. Upstream's own config reference says of wire_api that "responses is the only supported value, and it is the default when omitted". Open Interpreter's maintained delta lists as deliberate additions a "first-class OpenAI-compatible Chat Completions transport" and an "Anthropic Messages-compatible transport for providers that expose that API". So the fork reaches endpoints upstream Codex cannot, and all three of Kunavo's surfaces — /v1/responses, /v1/chat/completions and /v1/messages — have a corresponding wire value.

The documented custom-provider shape, from the providers page, is a chat-completions block with a base URL ending in /v1; the same page shows a hosted gateway configured exactly that way. Applied to Kunavo:

~/.openinterpreter/config.toml
# Top-level keys come FIRST. Anything written after a [table] header
# belongs to that table, so model_provider placed below would be ignored.
model_provider = "kunavo"
model = "gpt-5-6-luna"

[model_providers.kunavo]
name = "Kunavo"
base_url = "https://api.kunavo.com/v1"
env_key = "KUNAVO_API_KEY"
wire_api = "chat"

Three boundaries worth knowing before you spend an evening on it, all read from the project's documentation rather than tested here:

  • Kunavo is not in the bundled catalog, so set model by hand. The generated provider catalog is built from models.dev plus a few live provider endpoints and carried 116 providers when checked; Kunavo is in neither it nor models.dev. Do not expect the /model picker to seed context-window or capability metadata for a hand-written provider.
  • Harness routing is strict. Per the harness page, chat accepts native chat plus claude-code, claude-code-bare, deepseek-tui, kimi-code, kimi-cli, qwen-code, swe-agent and minimal; responses accepts native, claude-code and claude-code-bare; and on messages, "native mode is rejected because Messages requires a harness-native transport". Any unrecognised harness string falls back to chat with no built-in request builder, so a typo silently degrades the run. Which harness performs best against any given model is not documented, and this page does not guess.
  • The Messages base URL is an inference, not a documented Kunavo example. The shipped Messages providers in the catalog — Anthropic and Z.AI's ZCode — both use an API root without /v1, and the Z.AI page states the ZCode Messages request is sent to /v1/messages — so the client appends the path. By that rule an Anthropic-wire block would use the API root rather than the /v1 URL above, but there is no custom-provider Messages example anywhere in the official docs and this was not run. Start on the chat wire, which is the documented shape.

Two more documented details: env_key names the environment variable, not the key itself, and for one-off runs interpreter --chat-completions overrides the request shape for that invocation without changing the provider's base URL, credentials or model. ChatGPT sign-in is listed as the built-in openai provider's auth, not as a custom-provider option; the auth sources the providers page documents for a provider table are env_key, experimental_bearer_token and a command-backed auth block, plus an aws block for Amazon Bedrock only.

A worked cost estimate for a session

These are illustrative token arithmetic, not measured task costs and not a bill ceiling. Assume one agent session that sends 300,000 uncached input tokens and receives 20,000 output tokens — a shape chosen for illustration, because a Codex-style harness re-sends accumulated context on every turn. Your own repository and turn count will differ. Rates are live Kunavo catalog prices per million tokens.

ModelInput / output per 1MEstimate for the assumed session
GPT-5.6 Luna$0.07 / $0.42$0.029
Claude Haiku 4.5$0.40 / $2.00$0.160
Gemini 3.8 Flash$0.525 / $2.625$0.210
GPT-5.6 Terra$0.70 / $4.20$0.294
Claude Sonnet 4.6$1.20 / $6.00$0.480

The spread is the point rather than any single row: under these assumptions GPT-5.6 Luna models the same session at $0.029 against $0.480 for Claude Sonnet 4.6. That is not a recommendation to take the cheapest rate. Cheapest listed price and lowest cost to finish the task are different claims, and a model that needs three attempts at a refactor can cost more than one that needs a single pass — measure both on your own repository before deciding. Kunavo's catalog amount is a billing floor rather than a cap: when the upstream reports its charge, the bill is the greater of catalog cost and upstream cost times the applicable markup. Cache charges and external tools sit outside this example. The minimum top-up is $10 in prepaid credit, which is a funding minimum rather than a task fee or a subscription — see billing details.

Setting it up, honestly

Open Interpreter has not been runtime tested against Kunavo: nothing on this page was executed, and every configuration claim above was read from the project's repository and documentation on September 18, 2026. The closest published reference is the Codex CLI integration, whose TOML block is the same shape — copy it, change the config home to ~/.openinterpreter/config.toml, and ignore its single-wire_api rule, which belongs to upstream Codex. Keep a working route available, run one bounded task, then read the charge your account recorded for it. Create a Kunavo account when you are ready to fund a key.

Still comparing routes rather than clients? OpenAI-compatible API covers what the chat wire does and does not guarantee, and LLM gateway covers the one-key, one-balance trade-off in general.

FAQ

What are the best Open Interpreter alternatives?

It depends which Open Interpreter you are replacing. If you want the Python assistant that ran generated code on your own machine, the project's own README points at the community fork endolith/open-interpreter, installed from git — its own README describes that branch as "piling up vibe-coded changes (of dubious quality)", while the maintainer adds that he uses it very frequently and it works pretty well. If you want an actively developed terminal coding agent, the current Rust Open Interpreter is itself that alternative, and comparable clients include Aider, OpenCode, Cline and Codex CLI. Those four do not all speak the same wire: Codex CLI's own config reference makes "responses" the only supported value, so it needs a Responses route rather than a chat-completions one. If you want a desktop application rather than a terminal, the same organisation ships Interpreter Workstation as a separate product. None of these four routes is a paid product, so the comparison is about workflow and maintenance, not licence fees.

How much does Open Interpreter cost?

Nothing, in every generation of it. The current Rust agent is Apache-2.0, the legacy Python package is AGPL-3.0, and openinterpreter.com/pricing returned HTTP 404 when checked on September 18, 2026 — there is no plan, no seat and no account to create. What you pay is the model API bill at whichever provider you configure, or nothing per request if you run a local model through Ollama or LM Studio, which ship as built-in providers. This is an absence-of-evidence conclusion about paid offerings: no pricing page and no billing text anywhere in the documentation, rather than a statement from the project that none will exist.

Is the price for Open Interpreter the same as ChatGPT's Code Interpreter?

No, and this is the most common mix-up on this query. OpenAI's hosted Code Interpreter tool bills container sessions — $0.03 for 1 GB, $0.12 for 4 GB, $0.48 for 16 GB and $1.92 for 64 GB per 20-minute session, with eligible sessions billed by the minute at a 5-minute minimum, per OpenAI's API pricing page on September 18, 2026. Anthropic's code execution tool bills $0.05 per hour per container after 1,550 free hours per organisation per month, also with a 5-minute minimum, and is free when used alongside web search or web fetch. Both are remote sandboxes rented by the minute. Open Interpreter executes code on your own machine and charges nothing for execution, so neither of those container prices belongs in an Open Interpreter budget.

Does pip install open-interpreter still work?

It still installs, and that is the problem. PyPI serves open-interpreter 0.4.3, uploaded October 26, 2024 and not yanked, so the command silently gets you the generation the project no longer maintains. Its declared Python support is >=3.9,<4, but a 2024 dependency set against 2026 libraries is an obvious failure risk and this page did not create an environment to test it — do not assume it still runs. The current agent is not on PyPI or npm at all: it installs with a shell installer from openinterpreter.com/install, and the npm package named open-interpreter is a 2023 placeholder at version 0.0.0 with one publish, from a different repository.

Can I still use --api_base and --model with the new version?

No. Those flags belong to the Python generation, which routed through LiteLLM: interpreter --api_base <endpoint> --api_key <key> --model openai/<model-id>, where LiteLLM's own documentation requires the openai/ prefix so it knows to call a chat-completions endpoint. The Rust agent has neither the flags nor the prefix convention. It reads a TOML provider table from ~/.openinterpreter/config.toml or a project-level .openinterpreter/config.toml, selects it with the top-level model_provider and model keys, and takes the API key from the environment variable you name in env_key. Nothing carries across; the configuration is written from scratch.

Which wire_api should a third-party endpoint use in Open Interpreter?

Open Interpreter documents three values and they are not interchangeable: responses for OpenAI Responses-compatible providers, chat for OpenAI-compatible chat-completions providers, and messages only for Anthropic Messages-compatible providers. The documented custom-provider example uses wire_api = "chat" with a base URL ending in /v1, and the docs show a hosted gateway configured exactly that way. Note that harness routing is strict: on the messages wire, native mode is rejected outright and only claude-code, claude-code-bare and zcode are accepted, though a messages provider auto-defaults to claude-code when no harness is set. A harness value that is not a recognised id falls back to chat with no built-in harness request builder, so a typo degrades the run instead of failing it.

Repository state, releases, package registries, documentation and the generated provider catalog checked September 18, 2026; the OpenAI and Anthropic tool prices were read from their own pricing pages the same day. No ChatGPT subscription price is quoted because that page refused the fetch. Nothing here was runtime tested against any endpoint. Kunavo token rates come from the live catalog, and every dollar example on this page is illustrative token arithmetic rather than a measured task cost.