この記事ではOpenCode(anomalyco/opencode)を中心に解説します。Claude Code全般は Claude Code|2026年版・インストールからCLAUDE.md・Hooks・本番運用までの実装手引き をご覧ください。

WHAT IT REPLACES何を代替するか

モデルも権限も自分で選べるターミナルのコーディングエージェント

Claude Code など商用CLI

ベンダー専用・クローズド

  • 対応モデルはそのベンダーのもの
  • ソースを読んで挙動を確かめられない
  • 料金はベンダーの契約に乗る

OpenCode

MIT・複数モデル対応

  • provider/model で切替Claude・GPT系・Ollama等
  • build / plan を Tab で切替planはファイル編集を拒否
  • TUI・run・デスクトップ(ベータ)CI組み込みもGUIも
出典: anomalyco/opencode README・公式docs(2026-10-18時点)。モデルの利用料金は別途かかる

30秒でわかる(2026年10月18日時点)

  • ・正体:MITライセンスのAIコーディングエージェント。モデルは Claude・GPT系・Ollama などから選ぶ
  • ・いまは2系:npmは @opencode/cli(2.0.32)。1系の opencode-ai(1.19.3)とは配布名・設定の読み方・キーの保存先が違う
  • ・料金:本体は無料。モデルの料金は接続先しだい。キー無しでも一覧に opencode/ の12モデルが出る
  • ・Claude Codeから移る人へ:2系は CLAUDE.md を読まない。AGENTS.md に移す

OpenCodeとは|何ができて何を代替するか

OpenCodeは、コードの生成・説明・修正・調査をターミナルから頼めるAIコーディングエージェントです。Claude Codeのようなベンダー専用のCLIと違い、ソースが公開されていて、使うモデルを利用者が選びます。READMEの冒頭は「The open source AI coding agent」の一文で、LICENSE の実体もMITでした。

リポジトリは anomalyco/opencode です。旧名の sst/opencode を git ls-remote で引くと、同じコミット(2026年10月18日時点の e4b2afc)が返りました。「anomalyco」は製品名ではなく組織名です。GitHubのページ表示はスター約21.5万、フォーク約2.9万でした。READMEは名前に “opencode” を含む他のプロジェクトに「公式とは無関係」と明記するよう求めています。似た名前のツールは組織名で見分けます。

OpenCodeのターミナルUIのスクリーンショット
OpenCodeのターミナルUI(出典: anomalyco/opencode README)

できることは次のとおりです。

・モデルの切り替え:provider/model の形で指定する。一覧は models.dev のカタログから作られる
・build/plan:Tabキーで切り替える。planは調べて計画するための読み取り用
・サブエージェント:メッセージに @general と書くと、複数手順の調べものを任せられる
・入口が3つ:全画面のTUI、スクリプトやCI向けの opencode run、デスクトップアプリ(ベータ)
・MCPとスキル:opencode mcp でMCPサーバーを管理し、スキルは .opencode/skills などから読む

OpenCodeのインストール方法|v1とv2の違い

2026年10月18日時点で、npmには2つのパッケージがあります。READMEが案内するのは2系の @opencode/cli です。

  1系 2系
npm パッケージ opencode-ai(1.19.3) @opencode/cli(2.0.32)
起動のしかた コマンドごとに単体で動く 既定で共有の常駐サーバーに接続
指示ファイル AGENTS.md、無ければ CLAUDE.md AGENTS.md だけ
キーの保存先 ~/.local/share/opencode/auth.json 同じ場所の opencode.db
端末の設定 階層の tui.json(c) 1つの cli.json(自動で移行)
プラグイン 1系のAPI 新しいAPI。1系のものは動かない

保存先は当サイトの侵害記事で、ダミーのキーを入れて確かめた結果です。ほかは公式の移行ガイド(Migrate from V1)と各版の --help によります。

V1 TO V2v2で変わった点

v1の記事の手順がv2では通らない4か所

v1(opencode-ai 1.19)

v2(@opencode/cli 2.0)

v1(opencode-ai 1.19): npm i -g opencode-ai

v2(@opencode/cli 2.0): npm i -g @opencode/cli

v1(opencode-ai 1.19): CLAUDE.md も読む

v2(@opencode/cli 2.0): AGENTS.md だけ読む

v1(opencode-ai 1.19): キーは auth.json

v2(@opencode/cli 2.0): キーは opencode.db

v1(opencode-ai 1.19): 単体で起動

v2(@opencode/cli 2.0): 共有の常駐サーバーに接続

出典: docs(migrate-v1・instructions・cli)と npm の両版を入れた実測(2026-10-18)

npmで入れて起動を確かめる手順です。2.0.32 で、掲載のまま動くことを確かめました。

npm i -g @opencode/cli@latest
opencode --version
opencode auth list
opencode models | head -5

キーを何も入れていない状態では、opencode --version が opencode v2.0.32、auth list が No authenticated integrations を返しました。opencode models には opencode/big-pickle など opencode/ で始まる12個が並びました。1系の1.19.3でも同じ12個でした。

npm以外の経路はREADMEにあります。公式スクリプト curl -fsSL https://opencode.ai/install | bash、Windowsの scoop install opencode と choco install opencode、Homebrewの brew install anomalyco/tap/opencode(常に最新)と brew install opencode(公式formula・更新は遅め)です。デスクトップ版は brew install --cask opencode-desktop か、リリースページの .dmg・.exe などから入れます。READMEはデスクトップ版を「BETA」と書いています。

1系と2系を同じ環境に入れない

公式の移行ガイドは「1系と2系はどちらも opencode コマンドを使い、既定では並べて入れられない」と書き、パッケージマネージャーで入れた1系を消してから2系を入れるよう求めています。

並べて動かすと何が起きるかも確かめました。空のホームで先に2系を動かし、同じホームで1系の opencode auth list を実行すると、Database is not empty and has no session table で止まりました。2系が作った opencode.db を1系が読めないためです。逆の順(1系 → 2系)では両方とも動きました。2系に移ったあとで1系の記事の手順を試すときは、別のユーザーか別の HOME で動かします。

初期設定|モデルの接続・opencode.jsonc・AGENTS.md

公式の手順では、TUIで /connect を実行してプロバイダを選び、キーを入れてモデルを接続します。次に /models で使うモデルを選びます。GitHub Copilotはキーではなく、デバイス認証でログインします。ANTHROPIC_API_KEY などの環境変数に入れたキーも拾われ、1系の auth list では「Environment」欄に出ました。

ローカルで完結させたいときはOllamaです。公式ドキュメントによると、OpenCodeは http://127.0.0.1:11434 を探し、見つかったモデルを接続の手続きなしで /models に足します。LM StudioとvLLMにも同じ自動検出があります。

設定はプロジェクトの opencode.jsonc に書きます。JSONCなのでコメントが書けます。

{
  "$schema": "https://opencode.ai/config.json",
  // 既定のモデル(provider/model)
  "model": "anthropic/claude-sonnet-4-5",
  // git push の前だけは確認を求める
  "permissions": [
    { "action": "shell", "resource": "git push *", "effect": "ask" }
  ]
}

このファイルを置いたディレクトリで opencode debug config を実行すると、読み込まれた設定の場所と中身が出ます(コマンドは次の節に載せました)。全体の設定は ~/.config/opencode/opencode.json(c) に置きます。公式ドキュメントによると、プロジェクトの設定は遠いディレクトリから近いディレクトリの順に重ね、.opencode/ の中の設定が直下のファイルより優先されます。

プロジェクトの決まりごと(ビルドの手順・規約)は AGENTS.md に書きます。Claude Codeから移る人は注意が要ります。 公式ドキュメントは「V2は AGENTS.md だけを認識し、CLAUDE.md を代わりに読まない」と書いています。1系は AGENTS.md が無ければ CLAUDE.md を読んだので、1系のつもりで置いたままにすると決まりごとが効きません。スキルは別で、2系も .claude/skills を互換の置き場所として読みます。

OpenCodeの使い方|build/planとopencode run

起動はプロジェクトのディレクトリで opencode です。全画面のTUIが開き、Tabキーでbuildとplanを切り替えます。基本は「planで調べて方針を決め、納得してからbuildで書き換える」二段構えです。

HOW IT WORKS処理の流れ

入口とモデルは差し替え自由、間のエージェント層で権限を分ける

  1. 入口

    TUI・run・mini

  2. 常駐サーバー

    v2は既定で共有

  3. エージェント

    build・plan・@general

  4. モデル

    provider/model

  5. 結果

    コードと調査

出典: docs(cli・agents)、v2.0.32 の --help と debug agents(2026-10-18実測)

2系の opencode debug agents で、空の設定のときのエージェントと既定の権限を見ました。

エージェント 役割 既定の権限(v2.0.32)
build 既定。設定した権限でツールを使う 全部許可。.env の読み取りは確認、ブラウザは拒否
plan 読み取り用。調べて計画する ファイル編集は拒否(計画用のフォルダだけ許可)。.env は確認
general / explore サブエージェント 調べものと複数手順の作業

READMEはplanについて「bashの実行前に確認を求める」と書いています。ところが v2.0.32 の debug agents の一覧には、planの shell に確認の規則がありませんでした。実際に確認なしで走るかは、モデルを動かしていないので未検証です。コマンドの実行を止めたいときは、上の permissions のように自分で規則を書くと確実です。

設定と状態を確かめるコマンドです。掲載のまま動くことを確かめました。

opencode debug paths db
opencode debug config
opencode debug agents | grep -E '"id"'
opencode service status
opencode service stop

2系はコマンドを打つと、ユーザーごとに1つの常駐サーバーを探すか起動し、各クライアントがそこにつなぎます(公式ドキュメント)。service status はそのURL(今回は http://127.0.0.1: の空いたポート)を返し、service stop で止まりました。常駐させたくなければ、コマンドに --standalone を付けるか opencode service set disabled true を実行します。

TUIを開かずに頼むときは opencode run "このリポジトリを説明して" です。--help で、-m(provider/model#variant の形)、--agent、--format json、--file があることを確かめました。CIのステップから呼ぶ使い方を公式は想定しています。モデルからの応答は試していません(未検証)。

OpenCodeは無料?料金と安全性

OpenCode本体は無料です。費用はモデルの接続先で決まります。

接続先 費用 確かめたこと
Anthropic・OpenAI などのAPIキー 各社の従量課金 料金は各社の価格表のとおり
GitHub Copilot Copilotの契約の範囲 Copilot Chatの権利が要る(公式ドキュメント)
Ollama・LM Studio・vLLM 手元の計算資源だけ 自動検出は公式ドキュメント。実機は未検証
opencode/ の無料モデル 無料(期間限定のものあり) キー無しで一覧に12個。応答は未検証
OpenCode Go/Go Plus 月10ドル/月40ドル オープンなモデル向けの任意の定額

opencode/ のモデルは、OpenCodeの運営が出すモデルの窓口(OpenCode Console)の分です。公式ドキュメントは「有料モデルにはキーが要り、無料のチャットモデルはキー無しで呼べる」と書いています。名前に free が付くものには期間限定の扱いがあるので、使う前に opencode models で今の一覧を見てください。

安全性は2点に分けて考えます。

・手元のエージェント:planは編集を拒否し、.env の読み取りは確認が入る。shell の扱いは上の表のとおり自分で規則を書く
・キーの保存:1系は auth.json、2系は opencode.db に、キーが平文で入る。どちらも権限は600。1系から2系に上げても auth.json は消えない

OpenCode Consoleでは侵害が起きています。公式は2026年10月17日(米国時間)のX投稿で、外部プロバイダを連携していたConsole利用者の1.4%に影響すると公表しました。Consoleを使っていた人は、連携していたキーを各社の画面で無効にして作り直します。経緯と手元の確認手順は、記事末尾の「あわせて読みたい」にある侵害の記事にまとめました。

Claude Code・Crush・Aiderとの比較

主なツールを並べます。Crushのスター数は2026年7月時点の記載で、今回は測り直していません。

ツール OSS 対応モデル CLI デスクトップ 特徴
OpenCode ✅(MIT) 複数 ✅ ✅(ベータ) build/planの権限分け、権限を規則で書ける
Claude Code ❌ Claude専用 ✅ ✅ Anthropic純正。CLAUDE.md とフック
GitHub Copilot ❌ 複数 ✅(Copilot CLI) ❌ IDEの補完が中心
Cursor ❌ 複数 ❌ ✅ エディタ型
Aider ✅ 複数 ✅ ❌ Gitのコミットとの連携が強い
Crush(Charm) ✅ 複数 ✅ ❌ Go製、ターミナルUI特化(約2.6万スター・7月時点)

分かれ目は2つです。1つは、ターミナルとCIで使うか、エディタに組み込むか。もう1つは、モデルを選びたいか、1社のモデルとの統合の深さを取るかです。OpenCodeはターミナル側で、モデルを選びたい人に向きます。Claudeだけを使い、フックや CLAUDE.md の運用を作り込んでいるならClaude Codeのままが楽です。

OpenCodeが向かないのは、更新の速さに付き合えない場合です。2026年10月の時点でGitHubのIssueタブは約3.5千件を示し、1系から2系への移行ではプラグインとサーバーAPIが作り直しになりました。チームで使うなら版を固定し、上げる前に移行ガイドを読みます。

複数のエージェントを協調させたい場合は oh-my-claudecode - Claude Codeで複数エージェントを協調させる統合フレームワーク も候補です。エージェントの基盤ごとの比較は AIエージェントフレームワーク比較2026、Claude Codeの運用は Claude Code ベストプラクティス を参照してください。

参照ソース