OpenCode in IDE

Sebastian Herrlinger 6deaf54bb3 use new opentui getTextRange method and Bun.stringWidth instead of value.length to mitigate issues like #3734 3 mesi fa
.github d1cd7d0344 ci: centralize Bun version to package.json to ensure consistent builds across CI and local development 3 mesi fa
.husky 96bdeb3c7b OpenTUI is here (#2685) 3 mesi fa
.opencode 7de6ea5922 fix: fix typo in commit message guidelines (#3702) 3 mesi fa
github 2663415d47 github action: truncate PR titles to 256 chars to avoid GH api errors (#3727) 3 mesi fa
infra 075ef0fa34 wip: share 4 mesi fa
logs 96bdeb3c7b OpenTUI is here (#2685) 3 mesi fa
packages 6deaf54bb3 use new opentui getTextRange method and Bun.stringWidth instead of value.length to mitigate issues like #3734 3 mesi fa
patches 854f9227a2 Patch Start to preload route css in SSR (#2389) 5 mesi fa
script dc2ab75fca ci: eventualy consistency 3 mesi fa
sdks f1324e886f release: v1.0.15 3 mesi fa
specs f993541e0b Refactor to support multiple instances inside single opencode process (#2360) 5 mesi fa
.editorconfig dd22cb2bb0 chore: add .editorconfig (#536) 7 mesi fa
.gitignore 8b70b89fde fix: typos (#3757) 3 mesi fa
AGENTS.md 8b70b89fde fix: typos (#3757) 3 mesi fa
CONTRIBUTING.md cb4401ec92 ignore: update contributing md 3 mesi fa
LICENSE ef3fd5900f docs: cleanup casing 8 mesi fa
README.md 54af7f9e18 docs: use brew official formula (#3733) 3 mesi fa
STATS.md d549cd3213 ignore: update download stats 2025-11-03 3 mesi fa
bun.lock 6deaf54bb3 use new opentui getTextRange method and Bun.stringWidth instead of value.length to mitigate issues like #3734 3 mesi fa
bunfig.toml 1472efcbfe Optimize package management with catalog and exact versions 8 mesi fa
install 36b48a44ac tweak - normalise unix-like identifiers to support git bash for windows (#2100) 3 mesi fa
opencode.json 96bdeb3c7b OpenTUI is here (#2685) 3 mesi fa
package.json 06ac1be226 upgrade to bun 1.3.1 3 mesi fa
sst-env.d.ts 70da3a9399 wip: zen 4 mesi fa
sst.config.ts bfe3f03e03 ci: fix deploy 5 mesi fa
tsconfig.json 925ce6503e sync 4 mesi fa
turbo.json 8bea479df9 ci: wtf 4 mesi fa

README.md

OpenCode logo

The AI coding agent built for the terminal.

Discord npm Build status

OpenCode Terminal UI


Installation

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

# Package managers
npm i -g opencode-ai@latest        # or bun/pnpm/yarn
scoop bucket add extras; scoop install extras/opencode  # Windows
choco install opencode             # Windows
brew install opencode      # macOS and Linux
paru -S opencode-bin               # Arch Linux

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

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 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
    

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.

FAQ

How is this different than Claude Code?

It's very similar to Claude Code in terms of capability. Here are the key differences:

  • 100% open source
  • Not coupled to any provider. Although Anthropic is recommended, OpenCode can be used with OpenAI, Google or even local models. As models evolve the gaps between them will close and pricing will drop so being provider-agnostic is important.
  • Out of the box LSP support
  • A focus on TUI. OpenCode is built by neovim users and the creators of terminal.shop; we are going to push the limits of what's possible in the terminal.
  • A client/server architecture. This for example can allow OpenCode to run on your computer, while you can drive it remotely from a mobile app. Meaning that the TUI frontend is just one of the possible clients.

What's the other repo?

The other confusingly named repo has no relation to this one. You can read the story behind it here.


Join our community Discord | X.com