Skip to content
Agents for Humanity
Public draft. All results are preliminary desk assessments against criteria v1.0, updated 27 Sept 2026. No agent has been certified yet. How we assess
Open sourceself-hostedApache-2.0

Open Interpreter

Open Interpreter · github.com/openinterpreter/openinterpreter

Open Interpreter runs locally under Apache-2.0, stores its config, sessions and memories in open formats under ~/.openinterpreter, works with local open-weight models, and enforces approvals and sandboxing at the OS level. It has no single-action agent export, no identity or message attribution that survives a move, and no guaranteed or tamper-evident action record. Product analytics are on by default and are sent to a project-operated endpoint whenever a login or API-key session exists.

Strengths
  • Apache-2.0 runtime that runs fully locally with Ollama or LM Studio
  • Open storage: TOML config, JSONL (zstd) session rollouts, SQLite state
  • OS-enforced sandbox, approval policies and network domain allowlists
  • Shared standards (AGENTS.md, .agents/skills, MCP, ACP) ease migration
  • Credentials held locally in OS keyring or auth.json
Gaps
  • No single-action export of the complete agent
  • No owner-controlled agent identity or attributable messages
  • Action record neither guaranteed nor tamper-evident
  • Analytics enabled by default (opt-out via config)
  • Web search depends on provider-hosted tooling
Evidence

All 34 findings

Rust distribution rust-v0.0.45 (released 2026-09-20), main branch as of 2026-09-27; a fork of OpenAI Codex CLI tracking upstream stable releases. The legacy Python Open Interpreter (0.x, AGPL) was not assessed.

Portable · Can you leave, and take the whole agent with you?

67%
  • P1
    Round-trip portability

    Not restorable in one action: everything sits in documented local locations, but there is no export or import command, so config, sessions and credentials in ~/.openinterpreter or the OS keyring must be copied by hand, and the docs advise re-authenticating. AGENTS.md and .agents/skills carry over in place.

    Partial
  • P2
    Complete export

    Configuration, instructions, skills, memories, session history and credentials all sit in documented local locations (~/.openinterpreter or the OS keyring, AGENTS.md and .agents/skills), and nothing that defines the agent is held by the project. Gathering them is a manual step.

    Pass
  • P3
    Independent execution

    The Apache-2.0 runtime runs on the owner's machine and can use local providers such as Ollama or LM Studio (`--oss`), so model traffic stays local. No Open Interpreter account is required.

    Pass
  • P4
    Identity continuity

    Counterparts cannot verify that a migrated agent is the same one. The inherited agent-identity crate registers ed25519 keys with the upstream ChatGPT backend for task authorization, so that identity depends on the backend rather than traveling with the agent.

    Fail
  • P5
    No kill switch

    No license checks or remote enable flags were found in the runtime; it is open source and runs with local models without an account. Updates come as releases from the GitHub repository, and existing builds keep working.

    Pass
  • P6
    Capability independence

    Shell execution, file editing, MCP tools, skills, hooks, subagents and memories run in the local runtime and work with any configured provider. Web search is available only 'when the active provider and policy allow it', so switching to a local model can remove that capability.

    Partial

Transparent · Can you see everything the agent is, with ordinary tools?

92%
  • T1
    Open storage format

    Config is TOML, session rollouts are JSONL (older rollouts are compressed with standard zstd), and runtime state uses a SQLite database (state_5.sqlite). All of these can be read without Open Interpreter.

    Pass
  • T2
    No hidden instructions

    The base prompts and harness-emulation prompts are open source in the repository, and injected context such as AGENTS.md and environment context is recorded in the local rollout files. The base instructions can be replaced through config.

    Pass
  • T3
    No shadow memory

    Agent state is local, but analytics events (usage and tool or plugin metadata) are sent by default to a project-operated endpoint (oi-new-api.fly.dev) when a login or API-key session exists. Whether that data is retained or used to build profiles is not publicly documented.

    Partial
  • T4
    Complete action history

    Each session is recorded locally as a rollout file with messages, tool calls, tool outputs and turn context, which moves with ~/.openinterpreter. The owner can switch persistence off (`history.persistence = "none"`).

    Pass
  • T5
    Readable logic

    Skills are SKILL.md folders in .agents/skills, hooks and rules are plain config or scripts, and the runtime itself is published as Rust and TypeScript source.

    Pass
  • T6
    No third-party influence channel

    No advertising, sponsored-content or partner ranking mechanism was found in the runtime or docs. The context contains only the owner's instructions, project files, configured tools and model outputs.

    Pass

Auditable · Can you reconstruct exactly what the agent did?

60%
  • A1
    No unrecorded actions

    Each session's tool calls and outputs are recorded durably in rollout files, but recording is best-effort: nothing holds back a command when its record cannot be written.

    Partial
  • A2
    Tamper evidence

    Rollout JSONL files carry no integrity data, so an edit or deletion would go unnoticed.

    Fail
  • A3
    Separation from the audited

    In the read-only and workspace-write sandbox modes, agent commands can write only inside workspace roots, which normally excludes ~/.openinterpreter. In danger-full-access or `--yolo` mode, nothing stops the agent from modifying its own rollout files.

    Partial
  • A4
    Readable with ordinary tools

    Session history is JSONL, optionally zstd-compressed, and can be read with jq, zstd and a text editor.

    Pass
  • A5
    Corroborated interactions

    Messages between agents are logged as InterAgentCommunication items carrying an item ID and the author and recipient agent paths, so the two sides' records can be matched. Only agents inside the runtime exchange messages this way.

    Pass

Verifiable · Can you prove the agent runs what it claims?

40%
  • V1
    Open, reproducible runtime

    The runtime is open source under Apache-2.0 and builds with Bazel and a Nix flake, but the project does not claim or document reproducible release builds.

    Partial
  • V2
    Active config is inspectable config

    Config comes from readable TOML files, and `/status` and `/permissions` show the active posture. The effective config also depends on CLI `-c` overrides, profiles, environment variables and provider model catalogs, and there is no documented dump of the fully resolved config.

    Partial
  • V3
    Attributable messages

    Recipients cannot verify that a message or action came from this agent under its owner's authority. The only agent keys are registered with the upstream ChatGPT backend, not held by the owner.

    Fail
  • V4
    Independently checkable record

    The rollout files carry no integrity data, so no tool can check that the record is intact.

    Fail
  • V5
    Comparable state

    All state is in local TOML, JSONL and SQLite files under ~/.openinterpreter, so the owner can copy it at two points in time and compare the copies with open tools such as diff, zstd and sqldiff.

    Pass

Modifiable · Can you change anything, without asking?

92%
  • M1
    Instructions

    Project and personal instructions are editable AGENTS.md files, and the base harness and instructions can be switched or overridden through `/harness` and config.

    Pass
  • M2
    Memory

    Memories are optional and off by default. When enabled they are stored locally, can be inspected with `/memories`, and generation and use can be switched off in config. Session history can be deleted or disabled.

    Pass
  • M3
    Logic

    Skills, hooks, rules and subagent definitions are owner-editable files, and the Apache-2.0 runtime itself can be modified and forked.

    Pass
  • M4
    Tools and permissions

    The owner can add any MCP server, plugins and skills, and can scope filesystem and network access with custom permission profiles and exec-policy rules.

    Pass
  • M5
    Model choice

    Any OpenAI-compatible, Anthropic-compatible or local provider (Ollama, LM Studio) can be selected with `/model`. Some surfaces, such as web search, depend on provider-side tooling and may be unavailable with local models.

    Partial
  • M6
    No gatekeeping

    No license checks, paid tiers or approval steps gate any modification. The project is Apache-2.0 open source.

    Pass

Controllable · Is your word final?

83%
  • C1
    Communication boundaries

    Permission profiles let the owner allow or deny network domains and filesystem paths for commands, enforced by the OS sandbox (Seatbelt, Bubblewrap/seccomp, Windows sandbox) below the model's judgment. MCP servers, connectors and approved escalations fall outside those profiles, and the owner cannot limit which peers or messaging channels the agent uses.

    Partial
  • C2
    Approval gates

    The runtime enforces approval policies (`untrusted`, `on-request`, `never`) and exec-policy rules. Commands that need approval do not run until the owner confirms.

    Pass
  • C3
    Immediate halt

    The owner can interrupt a turn from the TUI at any time, and the local process or background daemon can be stopped immediately (`interpreter app-server daemon stop`).

    Pass
  • C4
    Data sovereignty

    Analytics are on unless `[analytics] enabled = false` is set, and events go to a project-operated endpoint whenever a ChatGPT login or API-key auth session exists. No such events are sent when no auth session is present, for example with local models only. No data-training use by the project is documented.

    Partial
  • C5
    Credential custody

    Credentials are held in the OS keyring or ~/.openinterpreter/auth.json (`cli_auth_credentials_store`), or in environment variables. The owner can inspect, revoke (`/logout`) and move them, and no provider-held integration broker is needed.

    Pass
  • C6
    Full deletion

    All agent state is local and the owner can delete it permanently by removing ~/.openinterpreter and project files. There is no provider-side agent account; analytics already sent when an auth session was active are the only data outside the owner's control.

    Pass
Something wrong or out of date?

Vendors and the public can dispute any finding with evidence. Disputes and their resolutions are published.

Dispute a finding