---
name: open-interpreter
description: "Open Interpreter (Rust/Codex fork) — specialized for data transformation, large document batches, reusable execution profiles, and multimedia automation using local models"
version: 1.0.0
author: Hermes Agent
license: Apache-2.0
platforms: [linux, macos]
metadata:
  hermes:
    tags: [open-interpreter, coding-agent, data-processing, automation, local-models]
    related_skills: [autonomous-coding-agents, ai-cli-selection]
---

# Open Interpreter

## Overview

Open Interpreter is a Rust-based fork of OpenAI's Codex CLI, focused on running with low-cost/open models. Installed at `~/.local/bin/interpreter` on this server.

**Installation:** `curl -fsSL https://openinterpreter.com/install | sh`
**Version:** 0.0.10
**Config:** `~/.openinterpreter/config.toml`

## When to Use

**Use Open Interpreter ONLY for:**
- Specialized data transformation (CSV/JSON/XML processing pipelines)
- Large document batch processing (100+ files)
- Reusable execution profiles (same transformation run on different data)
- Multimedia automation (image processing, video transcoding pipelines)
- Tasks where its code execution loop offers a real advantage over direct terminal commands

**DO NOT use for:**
- Normal coding/editing (use Aider or OpenCode)
- PR reviews (use OpenCode)
- Test-driven fixes (use Codex CLI)
- Simple shell commands (do directly in terminal)

## Profiles

```bash
interpreter --profile local-coding    # Qwen 3.6 35B - general coding
interpreter --profile local-fast      # Qwopus 9B - fast edits
interpreter --profile local-data      # Gemma 12B - data processing (offline mode)
interpreter --profile local-general   # Qwen 3.5 9B - general chat
```

## Harness Emulation

Open Interpreter supports harness emulation for different agent styles:

```
> /harness
native          # Default Codex-style harness
claude-code     # Mimics Claude Code prompting
kimi-cli        # Kimi-style
qwen-code       # Qwen-Coder style
deepseek-tui    # DeepSeek style
swe-agent       # SWE-agent style
minimal         # Minimal harness
```

## Safety

The global config enforces:
- `auto_run = false` — never auto-execute code
- `confirm = true` — confirm before each execution
- `safe_mode = "ask"` — ask before potentially dangerous operations
- Never use `-y` or `--yes` flag — this disables all safety

## Interpreter Desktop (Commercial App)

The **Interpreter Desktop** (`Interpreter-latest.AppImage` at `~/Applications/`) is a **separate commercial product** from the CLI. It does NOT read `~/.openinterpreter/config.toml`.

**To configure models:**
- Launch the Desktop app from the application menu
- Open **Settings → API Endpoint**
- For OpenRouter: set endpoint to `https://openrouter.ai/api/v1` with your API key
- For DeepSeek: set endpoint to `https://api.deepseek.com/v1` with your key
- The Desktop app stores its config in its own Electron store at `~/.config/interpreter/`

## Pitfalls

- **First run is slow** — downloads additional components on first launch
- **Code execution asks for confirmation** — this is by design for safety
- **Harness switching changes behavior** — test in a disposable directory first
- **Offline mode** — only works with local profiles; cloud-backed profiles need internet
- **Open Interpreter is not a general coding agent** — it's for data/automation tasks
- **No tool calling** — local models don't support function calling through OI
- **Rust version TOML format** — the Rust fork (v0.0.10) uses `model = "model-name"` as a flat string, NOT a `[model]` table/section. Profiles go under `[profiles.<name>]`. Putting `[model]` as a TOML table causes: `Error loading config.toml: invalid type: map, expected a string in 'model'`. The CLI section uses `provider`, `api_base`, `api_key`.
- **`exec` subcommand is for app-server daemon** — the Rust version's `exec` subcommand goes through the app-server protocol, not for one-shot Python execution. For non-interactive use, pipe commands to stdin (needs a TTY) or use the daemon mode.
- **Config file location** — the Rust version reads from `~/.openinterpreter/config.toml`. The desktop app (Interpreter Desktop, commercial) uses a separate config mechanism accessed through its GUI.
