Skip to content

Comparison with OpenCode

This page breaks down where reloaded-code overlaps with OpenCode, where it diverges, and which to pick. OpenCode excels at interactive development; reloaded-code is for embedding agent tools into your own applications.

At a glance

Aspect OpenCode reloaded-code
What it isA coding agent applicationA coding agent library
LanguageTypeScriptRust
RuntimeBunNative binary / library
Memory~305 MiB RSS (Resident Set Size)~13 MiB RSS (Resident Set Size)
InterfaceTUI (Terminal User Interface), Desktop, IDELibrary (no UI - headless)
Target userDeveloper at a terminalDeveloper building a server/bot/tool
Agent formatMarkdown + YAML frontmatterSimilar format
PermissionsDefault-allow + interactive askDefault-deny (no interactive mode)
Tool set14 tools10 tools (core set)
LLM frameworkAI SDK (TypeScript)SerdesAI / bring your own
Providers75+ via models.dev75+ via models.dev
Sandboxing-Linux bubblewrap (2 profiles)
EmbeddableClient/server HTTP APIRust crate (library)
AsyncYes (Bun)Yes (tokio) and blocking mode
System prompt~2000+ tokens~2000 tokens (dynamically generated, includes only enabled tools)

Where they overlap

  • Agent markdown format - both use a similar YAML frontmatter schema (name, mode, description, model, permission, tool_settings). Agent files written for OpenCode are drop-in compatible (add explicit permissions). See Agents for the full format reference and Migrating from OpenCode for the differences.

  • Core tools - both provide read, write, edit, glob, grep, bash, and webfetch. See Tools for the complete tool reference.

  • models.dev - both support the models.dev catalog for provider/model lookups.

  • Multi-agent delegation - both support task tool delegation with recursion depth limits (how deeply agents can delegate to other agents).

Where they differ

Permissions

OpenCode uses default-allow: tools are allowed unless you explicitly deny them. It also offers an interactive ask mode that prompts the user for approval in the TUI before a tool runs.

reloaded-code uses default-deny: every tool is blocked unless you explicitly allow it in the agent frontmatter. There is no interactive approval flow because there is no user to prompt - the agent runs unattended.

See Migrating from OpenCode for a side-by-side YAML example, a portable default-deny configuration, and a migration checklist.

Interface

OpenCode is a full application with a TUI (Terminal User Interface), desktop app, VS Code extension, and HTTP API server. reloaded-code is a library with no UI. You build the interface or API layer yourself.

Framework

OpenCode is built on the Vercel AI SDK (TypeScript). reloaded-code uses SerdesAI for the ready-to-use integration, but the core is framework-agnostic so you can bring your own LLM framework. See Custom Framework Integration for details.

Sandboxing

OpenCode doesn't provide built-in sandboxing. To isolate it, you sandbox the entire process externally (containers, VMs, etc.). reloaded-code provides in-process sandboxing: each tool is sandboxed individually within your application.

Two layers are available:

  • Path resolvers - restrict which paths the file tools (read, write, edit, glob, grep) can access. See Path resolvers for the resolver types and configuration.

  • Shell sandboxing (Linux only) - sandbox bash commands with bubblewrap using kernel-level filesystem, network, and process isolation. Two profiles are available: Public Bot (untrusted input) and Trusted Maintenance (trusted automation).

Because sandboxing is per-tool, each agent or client can use a different configuration. See Sandboxing for the full guide.

Features unique to OpenCode

  • TUI / desktop app / IDE extensions (notifications, themes, keybindings)
  • Interactive permission prompts (ask mode)
  • LSP (Language Server Protocol) integration
  • Session sharing (share live agent sessions with other users)

Features unique to reloaded-code

  • In-process sandboxing: path resolvers + shell sandboxing (bubblewrap)
  • Framework-agnostic core (bring your own LLM framework)
  • Embeddable inside any process
  • Low memory footprint (~10 MiB PSS, all providers enabled)

Ready to get started? See Getting Started or Migrating from OpenCode.