← all repositories
anomalyco/opencode

Another open-source coding agent, but with a safety switch

OpenCode is a terminal-first AI coding agent that ships with a read-only "plan" mode for exploring codebases without accidentally rewriting them.

171.3k stars TypeScript Coding Assistants
opencode
Velocity · 7d
+425
★ / day
Trend
steady
star history

What it does OpenCode is an open-source AI coding agent that runs in your terminal and edits code on your behalf. It comes as both a CLI tool and a beta desktop app, with installation options ranging from curl | bash to Homebrew, Scoop, and even Nix. The project is TypeScript-based and published to npm as opencode-ai.

The interesting bit The README highlights a small but thoughtful design choice: two built-in agents you toggle with the Tab key. The default build agent has full write access, while plan is read-only by default, denies file edits, and asks permission before running shell commands. For anyone who has watched an AI agent confidently delete the wrong file, this is the equivalent of a safety catch.

Key highlights

  • Dual-agent model: build (full access) and plan (read-only, permission-gated) switchable via Tab
  • General subagent (@general) for complex multi-step searches, used internally
  • Extensive packaging: npm, Homebrew, Scoop, Chocolatey, AUR, pacman, mise, Nix, plus .deb/.rpm/.AppImage desktop builds
  • Install script respects $OPENCODE_INSTALL_DIR, $XDG_BIN_DIR, and $HOME/bin before falling back to a dot-directory
  • README translated into 20+ languages

Caveats

  • The desktop app is explicitly marked BETA
  • Users must manually remove pre-0.1.x versions before installing
  • The “general” subagent is documented as “used internally” with no detail on how it works or when it triggers

Verdict Worth a look if you want an open-source alternative to closed-source coding agents and value the ability to explore codebases in a sandboxed mode. Skip it if you need mature IDE integration or detailed documentation on internal agent behavior—the project pushes you to external docs for configuration details.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.