Troubleshooting

Real failure modes and the fastest way through them.

The agent won't run a command

Check your sandbox and approval policy. If the sandbox is read-only, commands that change state are blocked. Bump the sandbox with /permissions (or restart with --sandbox workspace-write), or run the command yourself and paste the output back into the chat.

A patch was rejected by the sandbox

The TUI prints the rule that fired — usually a path outside the workspace or a network call from workspace-write. You have two choices: re-run with --full-auto (no sandbox, no prompts — only on machines you can throw away) or use /sandbox-add-read-dir to grant the specific path you need.

Authentication is failing

Run /auth status to see who you're signed in as and which provider is active. If it's stale, re-auth from the same screen. For API-key providers, check the key is set in your environment or config.toml, not just shell-exported in a session the agent doesn't see.

Wrong model picked things up

Switch with /model and retry. Models are sticky per session, so a quick /model and a "try that again" usually fixes it. For longer work, pin the right model per profile in config.toml.

Session got lost

/resume --last brings back the most recent session. From a fresh shell, interpreter resume --last does the same thing. Sessions are persisted on disk — they don't disappear because the TUI quit.

Hit a rate limit

The session output will show the provider's rate-limit error. Switch to a different profile with /model, wait for the window to reset, or move to a provider with no limit (OpenRouter, a local model). Rate-limit errors are logged in the session output for later inspection.

MCP server isn't loading

Check the MCP server log in your session output — Open Interpreter prints the launch command and the stderr it captured. Common causes: the launch command's command or args are wrong in config.toml, the server's binary isn't on PATH, or the server expects an env var you didn't set. See MCP servers.

TUI is frozen

If a long stream is mid-flight, hit Ctrl-C once to interrupt — the agent stops the current turn and gives you the composer back. If the TUI still won't respond, press q to quit and re-launch. Your session is saved; interpreter resume --last brings it back.

Diff isn't showing

/diff reads the working tree. If git status shows nothing changed outside the TUI, there is nothing to show. If it shows changes that /diff is missing, you're probably in a different working directory than you think — quit and re-launch from the project root.

Skills aren't applying

Skills come from AGENTS.md. Confirm the file is at the project root or in the relevant subdirectory the agent is working in. Open Interpreter walks up from the current working directory. If the file is there but the agent is ignoring it, check it parses cleanly — a broken frontmatter block is the usual culprit. See AGENTS.md.

Still stuck

Run with verbose logs and share the output:

INTERPRETER_LOG=debug interpreter

File an issue at the Open Interpreter repo with the log and what you expected.