PlunderStruck/opencode

A fork of OpenCode for local AI models.

4

stars

12,474

commits

TypeScript

primary language

Jun 8, 2026

updated

opencode.ai

README

OpenCode logo

The open source AI coding agent.

Discord npm Build status

Local Model Fork

This public fork keeps OpenCode's agent loop, tool protocol, config loading, and plugin system, but tunes the runtime for local models where prefill time and prompt-cache stability matter.

Changes in this fork:

  • Compaction uses the active agent and model, appends the summary request after the existing transcript, disables tools for the summary turn, and resumes automatically when auto-compaction triggers.
  • Parallel tool calls are disabled. The model is instructed to call one tool at a time, and the runtime skips extra tool calls from the same assistant turn.
  • The default provider prompt is shortened for local and OpenAI-compatible models that fall back to default.txt.
  • Tool usage guidance prefers targeted searches and file ranges to avoid unnecessary context growth.

Existing OpenCode config, providers, models, and plugins continue to load from the normal global and project config locations.

Build and Run This Fork

The install and download links later in this README install official upstream OpenCode builds from anomalyco/opencode. They do not include the local-model fork changes above. To use this fork, clone this repository and build the CLI locally.

git clone https://github.com/PlunderStruck/opencode.git
cd opencode
git checkout dev

bun install
bun run --cwd packages/opencode build --single

The build writes the current-platform binary under packages/opencode/dist/*/bin/opencode. Run it directly:

OPENCODE_BIN="$(find "$PWD/packages/opencode/dist" -path "*/bin/opencode" -type f | head -n 1)"
"$OPENCODE_BIN" --version
"$OPENCODE_BIN"

On Windows, use the generated packages\opencode\dist\*\bin\opencode.exe binary instead.

To make your shell use this fork when you type opencode, put the built binary earlier in your PATH than any upstream install:

OPENCODE_BIN="$(find "$PWD/packages/opencode/dist" -path "*/bin/opencode" -type f | head -n 1)"
mkdir -p "$HOME/.local/bin"
ln -sf "$OPENCODE_BIN" "$HOME/.local/bin/opencode"
export PATH="$HOME/.local/bin:$PATH"
opencode --version

If opencode --version still resolves to the regular upstream build, check which opencode and remove or reorder the older install path.

English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська | বাংলা | Ελληνικά | Tiếng Việt

OpenCode Terminal UI


Installation

The commands below install official upstream OpenCode. Use the build instructions above if you want this local-model fork.

# YOLO
curl -fsSL https://opencode.ai/install | bash

# Package managers
npm i -g opencode-ai@latest        # or bun/pnpm/yarn
scoop install opencode             # Windows
choco install opencode             # Windows
brew install anomalyco/tap/opencode # macOS and Linux (recommended, always up to date)
brew install opencode              # macOS and Linux (official brew formula, updated less)
sudo pacman -S opencode            # Arch Linux (Stable)
paru -S opencode-bin               # Arch Linux (Latest from AUR)
mise use -g opencode               # Any OS
nix run nixpkgs#opencode           # or github:anomalyco/opencode for latest dev branch

[!TIP] Remove versions older than 0.1.x before installing.

Desktop App (BETA)

The desktop downloads are official upstream OpenCode builds, not this fork.

OpenCode is also available as a desktop application. Download directly from the releases page or opencode.ai/download.

PlatformDownload
macOS (Apple Silicon)opencode-desktop-mac-arm64.dmg
macOS (Intel)opencode-desktop-mac-x64.dmg
Windowsopencode-desktop-windows-x64.exe
Linux.deb, .rpm, or .AppImage
# macOS (Homebrew)
brew install --cask opencode-desktop
# Windows (Scoop)
scoop bucket add extras; scoop install extras/opencode-desktop

Installation Directory

The install script respects the following priority order for the installation path:

  1. $OPENCODE_INSTALL_DIR - Custom installation directory
  2. $XDG_BIN_DIR - XDG Base Directory Specification compliant path
  3. $HOME/bin - Standard user binary directory (if it exists or can be created)
  4. $HOME/.opencode/bin - Default fallback
# Examples
OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bash
XDG_BIN_DIR=$HOME/.local/bin curl -fsSL https://opencode.ai/install | bash

Agents

OpenCode includes two built-in agents you can switch between with the Tab key.

  • build - Default, full-access agent for development work
  • plan - Read-only agent for analysis and code exploration
    • Denies file edits by default
    • Asks permission before running bash commands
    • Ideal for exploring unfamiliar codebases or planning changes

Also included is a general subagent for complex searches and multistep tasks. This is used internally and can be invoked using @general in messages.

Learn more about agents.

Documentation

For more info on how to configure OpenCode, head over to our docs.

Contributing

If you're interested in contributing to OpenCode, please read our contributing docs before submitting a pull request.

Building on OpenCode

If you are working on a project that's related to OpenCode and is using "opencode" as part of its name, for example "opencode-dashboard" or "opencode-mobile", please add a note to your README to clarify that it is not built by the OpenCode team and is not affiliated with us in any way.


Join our community Discord | X.com

Contributors

(top 30 of 454)

thdxr

2,169 commits

adamdotdevin

1,925 commits

rekram1-node

1,296 commits

opencode-agent[bot]

1,057 commits

PlunderStruck/opencode

A fork of OpenCode for local AI models.

4

stars

12,474

commits

TypeScript

primary language

Jun 8, 2026

updated

opencode.ai

README

OpenCode logo

The open source AI coding agent.

Discord npm Build status

Local Model Fork

This public fork keeps OpenCode's agent loop, tool protocol, config loading, and plugin system, but tunes the runtime for local models where prefill time and prompt-cache stability matter.

Changes in this fork:

  • Compaction uses the active agent and model, appends the summary request after the existing transcript, disables tools for the summary turn, and resumes automatically when auto-compaction triggers.
  • Parallel tool calls are disabled. The model is instructed to call one tool at a time, and the runtime skips extra tool calls from the same assistant turn.
  • The default provider prompt is shortened for local and OpenAI-compatible models that fall back to default.txt.
  • Tool usage guidance prefers targeted searches and file ranges to avoid unnecessary context growth.

Existing OpenCode config, providers, models, and plugins continue to load from the normal global and project config locations.

Build and Run This Fork

The install and download links later in this README install official upstream OpenCode builds from anomalyco/opencode. They do not include the local-model fork changes above. To use this fork, clone this repository and build the CLI locally.

git clone https://github.com/PlunderStruck/opencode.git
cd opencode
git checkout dev

bun install
bun run --cwd packages/opencode build --single

The build writes the current-platform binary under packages/opencode/dist/*/bin/opencode. Run it directly:

OPENCODE_BIN="$(find "$PWD/packages/opencode/dist" -path "*/bin/opencode" -type f | head -n 1)"
"$OPENCODE_BIN" --version
"$OPENCODE_BIN"

On Windows, use the generated packages\opencode\dist\*\bin\opencode.exe binary instead.

To make your shell use this fork when you type opencode, put the built binary earlier in your PATH than any upstream install:

OPENCODE_BIN="$(find "$PWD/packages/opencode/dist" -path "*/bin/opencode" -type f | head -n 1)"
mkdir -p "$HOME/.local/bin"
ln -sf "$OPENCODE_BIN" "$HOME/.local/bin/opencode"
export PATH="$HOME/.local/bin:$PATH"
opencode --version

If opencode --version still resolves to the regular upstream build, check which opencode and remove or reorder the older install path.

English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська | বাংলা | Ελληνικά | Tiếng Việt

OpenCode Terminal UI


Installation

The commands below install official upstream OpenCode. Use the build instructions above if you want this local-model fork.

# YOLO
curl -fsSL https://opencode.ai/install | bash

# Package managers
npm i -g opencode-ai@latest        # or bun/pnpm/yarn
scoop install opencode             # Windows
choco install opencode             # Windows
brew install anomalyco/tap/opencode # macOS and Linux (recommended, always up to date)
brew install opencode              # macOS and Linux (official brew formula, updated less)
sudo pacman -S opencode            # Arch Linux (Stable)
paru -S opencode-bin               # Arch Linux (Latest from AUR)
mise use -g opencode               # Any OS
nix run nixpkgs#opencode           # or github:anomalyco/opencode for latest dev branch

[!TIP] Remove versions older than 0.1.x before installing.

Desktop App (BETA)

The desktop downloads are official upstream OpenCode builds, not this fork.

OpenCode is also available as a desktop application. Download directly from the releases page or opencode.ai/download.

PlatformDownload
macOS (Apple Silicon)opencode-desktop-mac-arm64.dmg
macOS (Intel)opencode-desktop-mac-x64.dmg
Windowsopencode-desktop-windows-x64.exe
Linux.deb, .rpm, or .AppImage
# macOS (Homebrew)
brew install --cask opencode-desktop
# Windows (Scoop)
scoop bucket add extras; scoop install extras/opencode-desktop

Installation Directory

The install script respects the following priority order for the installation path:

  1. $OPENCODE_INSTALL_DIR - Custom installation directory
  2. $XDG_BIN_DIR - XDG Base Directory Specification compliant path
  3. $HOME/bin - Standard user binary directory (if it exists or can be created)
  4. $HOME/.opencode/bin - Default fallback
# Examples
OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bash
XDG_BIN_DIR=$HOME/.local/bin curl -fsSL https://opencode.ai/install | bash

Agents

OpenCode includes two built-in agents you can switch between with the Tab key.

  • build - Default, full-access agent for development work
  • plan - Read-only agent for analysis and code exploration
    • Denies file edits by default
    • Asks permission before running bash commands
    • Ideal for exploring unfamiliar codebases or planning changes

Also included is a general subagent for complex searches and multistep tasks. This is used internally and can be invoked using @general in messages.

Learn more about agents.

Documentation

For more info on how to configure OpenCode, head over to our docs.

Contributing

If you're interested in contributing to OpenCode, please read our contributing docs before submitting a pull request.

Building on OpenCode

If you are working on a project that's related to OpenCode and is using "opencode" as part of its name, for example "opencode-dashboard" or "opencode-mobile", please add a note to your README to clarify that it is not built by the OpenCode team and is not affiliated with us in any way.


Join our community Discord | X.com

Contributors

(top 30 of 454)

thdxr

2,169 commits

adamdotdevin

1,925 commits

rekram1-node

1,296 commits

opencode-agent[bot]

1,057 commits

Languages

TypeScript

68.8%

MDX

27.6%

CSS

3.1%