The open source AI coding agent.
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.
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 --singleThe 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 --versionIf 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
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 branchTip
Remove versions older than 0.1.x before installing.
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.
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | opencode-desktop-mac-arm64.dmg |
| macOS (Intel) | opencode-desktop-mac-x64.dmg |
| Windows | opencode-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-desktopThe install script respects the following priority order for the installation path:
$OPENCODE_INSTALL_DIR- Custom installation directory$XDG_BIN_DIR- XDG Base Directory Specification compliant path$HOME/bin- Standard user binary directory (if it exists or can be created)$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 | bashOpenCode 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.
For more info on how to configure OpenCode, head over to our docs.
If you're interested in contributing to OpenCode, please read our contributing docs before submitting a pull request.
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.
