アップグレードガイド
OpenCode を新しいバージョンへ移行するときは本ガイドを参照してください。CLI、TUI、Web、Desktop、SDK の関係、設定ファイル、トラブル時のロールバック手順をまとめています。
開始前の準備
- 現在のバージョンを確認:
opencode --version - releases ページで対象バージョンを選択。
- 現バージョンと対象バージョンの間の リリースノート を読む。
- 設定ファイル (
opencode.json、~/.opencode/、ワークスペース固有の設定) をバックアップ。
コンポーネントの関係
OpenCode は同じリリースラインで複数のコンポーネントを提供します。基本的に、同じマイナーバージョンに揃えると想定外の差分を避けられます。
| コンポーネント | 実行場所 | 補足 |
|---|---|---|
| CLI | ローカル端末 | 他のコンポーネントの基準 |
| TUI | ローカル端末 | CLI ベース |
| Web | ブラウザ + ローカルサーバ | ローカルサーバは CLI と同じバイナリ |
| Desktop | ネイティブウィンドウ (macOS、Windows、Linux) | ベータ版。CLI と機能を揃える |
| SDK | 自分のアプリに組み込み | CLI の公開 API に追従 |
CLI と TUI だけを使う場合はそのままアップグレードできます。Web サーバや Desktop クライアントも使う場合は、一緒にアップグレードして挙動を揃えてください。
設定の移行
OpenCode はほとんどの設定で後方互換を維持していますが、一部のキーはリネームや置き換えが行われました。代表的な例:
- 旧
toolsブール設定はpermissionに統合されました。旧キーは引き続き受け付けますが、非推奨警告が表示されます。permissionへの移行を推奨します。 ~/.opencode/配下のカスタムツールとコマンドは Commands と Tools の最新スキーマに従ってください。
opencode doctor や TUI が非推奨警告を出力した場合は、次のメジャーバージョンまでに移行してください。
モデルの差し替え
モデルの提供状況は頻繁に変わります。アップグレード前:
- Models 概要 を確認し、対象バージョンで新たに非推奨となるモデルをチェック。
- 日付付きのモデル ID (例:
<provider>/<model>) は、安定別名または provider 推奨の最新名称に置き換えてください。 - OpenCode Zen を使う場合は、opencode.ai/zen で最新のカタログと料金を確認。
アップグレード手順
コマンドはインストール方法によって異なります。
- macOS / Linux (インストールスクリプト): スクリプトを再実行。現バージョンを検出してその場で置き換えます。
curl -fsSL https://opencode.ai/install | bash - Homebrew:
brew upgrade anomalyco/tap/opencode(公式 formula の場合はopencodeをアップグレード) - npm / pnpm / yarn:
npm i -g opencode-ai@latest(各パッケージマネージャに合わせて) - Scoop / Chocolatey:
scoop update opencodeまたはchoco upgrade opencode - Docker: 新イメージを取得してコンテナを再起動。サポート対象タグは Docker ガイド を参照。
- Desktop アプリ: アプリ内アップデータ (Help → Check for Updates) を使用、または ダウンロードページ から再インストール。
アップグレード後:
opencode --versionで新バージョンを確認。opencode doctor(利用可能な場合) または TUI を実行し、設定の警告を確認。- 小さな代表タスクを実行してから通常利用に戻ります。
ロールバック
アップグレード後に重要なワークフローが壊れた場合:
- 同じインストール方法で前のバージョンを再インストール。
- バックアップした
opencode.jsonと~/.opencode/の設定を復元。 - 新しいデフォルトモデルが provider と互換性がない場合は、モデル ID を再固定。
- 失敗したバージョン、再現手順、エラー出力を添えて GitHub issue を作成。
アップグレードをスキップするケース
毎回アップグレードする必要はありません。以下のような場合はスキップして構いません:
- リリースノートに自分に影響する変更が記載されていない。
- 依存する重要なプラグインや provider 統合が新バージョンで未検証。
- 障害対応中であり、その障害に対する修正が新バージョンに含まれていない。