---
title: CLI
description: OpenCode CLI のオプションとコマンド。
---

import { Tabs, TabItem } from "@astrojs/starlight/components"

OpenCode CLI は、引数なしで実行すると、デフォルトで [TUI](/docs/tui) を開始します。

```bash
opencode
```

ただし、このページに記載されているようにコマンドも受け入れます。これにより、OpenCode をプログラム的に操作できるようになります。

```bash
opencode run "Explain how closures work in JavaScript"
```

---

### tui

OpenCode ターミナルユーザーインターフェイスを開始します。

```bash
opencode [project]
```

#### フラグ

| フラグ                                   | ショート                                | 説明                                                       |
| ---------------------------------------- | --------------------------------------- | ---------------------------------------------------------- |
| <nobr><code>{"--continue"}</code></nobr> | `-c`                                    | 最後のセッションを続行                                     |
| <nobr><code>{"--session"}</code></nobr>  |                                         | 続行時にセッションをフォーク (`-s` または `--fork` と併用) |
| <nobr><code>{"--continue"}</code></nobr> | <nobr><code>{"--session"}</code></nobr> | 続行するセッション ID                                      |
| <nobr><code>{"--prompt"}</code></nobr>   |                                         | 使用のプロンプト                                           |
| <nobr><code>{"--model"}</code></nobr>    | `-m`                                    | プロバイダー/モデルの形式で使用するモデル                  |
| <nobr><code>{"--agent"}</code></nobr>    |                                         | 使用するエージェント                                       |
| <nobr><code>{"--port"}</code></nobr>     |                                         | リッスンするポート                                         |
| <nobr><code>{"--hostname"}</code></nobr> |                                         | リッスンするホスト名                                       |

---

## コマンド

OpenCode CLI には次のコマンドもあります。

---

### agent

OpenCode のエージェントを管理します。

```bash
opencode agent [command]
```

---

### attach

`serve` または `web` コマンドを使用して起動された、すでに実行中の OpenCode バックエンドサーバーにターミナルを接続します。

```bash
opencode attach [url]
```

これにより、リモート OpenCode バックエンドで TUI を使用できるようになります。例えば：

```bash
# Start the backend server for web/mobile access
opencode web --port 4096 --hostname 0.0.0.0

# In another terminal, attach the TUI to the running backend
opencode attach http://10.20.30.40:4096
```

#### フラグ

| フラグ                                   | ショート | 説明                                                                              |
| ---------------------------------------- | -------- | --------------------------------------------------------------------------------- |
| <nobr><code>{"--dir"}</code></nobr>      |          | TUI を開始する作業ディレクトリ                                                    |
| <nobr><code>{"--continue"}</code></nobr> | `-c`     | 最後のセッションを続行                                                            |
| <nobr><code>{"--session"}</code></nobr>  | `-s`     | 続行するセッション ID                                                             |
| <nobr><code>{"--fork"}</code></nobr>     |          | 続行時にセッションをフォーク（`--continue` または `--session` と使用）            |
| <nobr><code>{"--password"}</code></nobr> | `-p`     | Basic 認証パスワード（デフォルトは `OPENCODE_SERVER_PASSWORD`）                   |
| <nobr><code>{"--username"}</code></nobr> | `-u`     | Basic 認証ユーザー名（デフォルトは `OPENCODE_SERVER_USERNAME` または `opencode`） |

---

#### create

カスタム構成で新しいエージェントを作成します。

```bash
opencode agent create
```

このコマンドは、カスタムシステムプロンプトとツール構成を使用して新しいエージェントを作成する手順を示します。

---

#### list

利用可能なエージェントをすべてリストします。

```bash
opencode agent list
```

---

### auth

プロバイダーの資格情報とログインを管理するコマンド。

```bash
opencode auth [command]
```

---

#### login

OpenCode は [Models.dev](https://models.dev) のプロバイダーリストを利用しているため、`opencode auth login` を使用して、使用したいプロバイダーの API キーを構成できます。これは `~/.local/share/opencode/auth.json` に保存されます。

```bash
opencode auth login
```

OpenCode が起動すると、認証情報ファイルからプロバイダーがロードされます。また、環境またはプロジェクト内の `.env` ファイルで定義されたキーがあるかどうかも確認します。

---

#### list

認証情報ファイルに保存されているすべての認証されたプロバイダーをリストします。

```bash
opencode auth list
```

またはショートバージョン。

```bash
opencode auth ls
```

---

#### logout

資格情報ファイルからプロバイダーをクリアすることで、プロバイダーからログアウトします。

```bash
opencode auth logout
```

---

### github

リポジトリ自動化のための GitHub エージェントを管理します。

```bash
opencode github [command]
```

---

#### install

GitHub エージェントをリポジトリにインストールします。

```bash
opencode github install
```

これにより、必要な GitHub Actions ワークフローが設定され、構成プロセスがガイドされます。 [詳細はこちら](/docs/github)。

---

#### run

GitHub エージェントを実行します。これは通常、GitHub Actions で使用されます。

```bash
opencode github run
```

##### フラグ

| フラグ                                | 説明                                                |
| ------------------------------------- | --------------------------------------------------- |
| <nobr><code>{"--event"}</code></nobr> | エージェントを実行するための GitHub モック イベント |
| <nobr><code>{"--token"}</code></nobr> | GitHub 個人アクセストークン                         |

---

### mcp

モデルコンテキストプロトコルサーバーを管理します。

```bash
opencode mcp [command]
```

---

#### add

MCP サーバーを構成に追加します。

```bash
opencode mcp add
```

このコマンドは、ローカルまたはリモートの MCP サーバーを追加する手順を示します。

---

#### list

構成されているすべての MCP サーバーとその接続ステータスをリストします。

```bash
opencode mcp list
```

または、短いバージョンを使用してください。

```bash
opencode mcp ls
```

---

#### auth

OAuth 対応の MCP サーバーで認証します。

```bash
opencode mcp auth [name]
```

サーバー名を指定しない場合は、利用可能な OAuth 対応サーバーから選択するように求められます。

OAuth 対応サーバーとその認証ステータスを一覧表示することもできます。

```bash
opencode mcp auth list
```

または、短いバージョンを使用してください。

```bash
opencode mcp auth ls
```

---

#### logout

MCP サーバーの OAuth 資格情報を削除します。

```bash
opencode mcp logout [name]
```

---

#### debug

MCP サーバーの OAuth 接続の問題をデバッグします。

```bash
opencode mcp debug <name>
```

---

### models

構成されたプロバイダーから利用可能なすべてのモデルをリストします。

```bash
opencode models [provider]
```

このコマンドは、構成されたプロバイダー全体で利用可能なすべてのモデルを `provider/model` の形式で表示します。

これは、[設定](/docs/config/) で使用する正確なモデル名を把握するのに役立ちます。

オプションでプロバイダー ID を渡して、そのプロバイダーによってモデルをフィルターできます。

```bash
opencode models anthropic
```

#### フラグ

| フラグ                                  | 説明                                                            |
| --------------------------------------- | --------------------------------------------------------------- |
| <nobr><code>{"--refresh"}</code></nobr> | models.dev からモデルキャッシュを更新します。                   |
| <nobr><code>{"--verbose"}</code></nobr> | より詳細なモデル出力を使用します (コストなどのメタデータを含む) |

`--refresh` フラグを使用して、キャッシュされたモデルリストを更新します。これは、新しいモデルがプロバイダーに追加され、それを OpenCode で確認したい場合に便利です。

```bash
opencode models --refresh
```

---

### run

プロンプトを直接渡して、非対話モードで opencode を実行します。

```bash
opencode run [message..]
```

これは、スクリプト作成、自動化、または完全な TUI を起動せずに迅速な回答が必要な場合に便利です。例えば。

```bash "opencode run"
opencode run Explain the use of context in Go
```

実行中の `opencode serve` インスタンスにアタッチして、実行ごとの MCP サーバーのコールドブート時間を回避することもできます。

```bash
# Start a headless server in one terminal
opencode serve

# In another terminal, run commands that attach to it
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
```

#### フラグ

| フラグ                                   | ショート | 説明                                                                                      |
| ---------------------------------------- | -------- | ----------------------------------------------------------------------------------------- |
| <nobr><code>{"--command"}</code></nobr>  |          | 実行するコマンド。引数には message を使用します。                                         |
| <nobr><code>{"--continue"}</code></nobr> | `-c`     | 最後のセッションを続行                                                                    |
| <nobr><code>{"--session"}</code></nobr>  | `-s`     | 続行するセッション ID                                                                     |
| <nobr><code>{"--fork"}</code></nobr>     |          | 続行時にセッションをフォーク (`--continue` または `--session` と併用)                     |
| <nobr><code>{"--share"}</code></nobr>    |          | セッションを共有する                                                                      |
| <nobr><code>{"--model"}</code></nobr>    | `-m`     | プロバイダー/モデルの形式で使用するモデル                                                 |
| <nobr><code>{"--agent"}</code></nobr>    |          | 使用するエージェント                                                                      |
| <nobr><code>{"--file"}</code></nobr>     | `-f`     | メッセージに添付するファイル                                                              |
| <nobr><code>{"--format"}</code></nobr>   |          | 形式: デフォルト (フォーマット済み) または json (生の JSON イベント)                      |
| <nobr><code>{"--title"}</code></nobr>    |          | セッションのタイトル (値が指定されていない場合は、切り詰められたプロンプトが使用されます) |
| <nobr><code>{"--attach"}</code></nobr>   |          | 実行中の opencode サーバー (http://localhost:4096 など) に接続します。                    |
| <nobr><code>{"--password"}</code></nobr> | `-p`     | Basic 認証パスワード（デフォルトは `OPENCODE_SERVER_PASSWORD`）                           |
| <nobr><code>{"--username"}</code></nobr> | `-u`     | Basic 認証ユーザー名（デフォルトは `OPENCODE_SERVER_USERNAME` または `opencode`）         |
| <nobr><code>{"--dir"}</code></nobr>      |          | 実行ディレクトリ、またはアタッチ時のリモートサーバー上のパス                              |
| <nobr><code>{"--variant"}</code></nobr>  |          | モデルバリアント（プロバイダー固有の推論レベル）                                          |
| <nobr><code>{"--thinking"}</code></nobr> |          | 思考ブロックを表示                                                                        |
| <nobr><code>{"--port"}</code></nobr>     |          | ローカルサーバーのポート (デフォルトはランダムポート)                                     |

---

### serve

API アクセスのためにヘッドレス OpenCode サーバーを起動します。完全な HTTP インターフェイスについては、[サーバーのドキュメント](/docs/server) を確認してください。

```bash
opencode serve
```

これにより、TUI インターフェイスを使用せずに opencode 機能への API アクセスを提供する HTTP サーバーが起動します。 `OPENCODE_SERVER_PASSWORD` を設定して HTTP 基本認証を有効にします (ユーザー名のデフォルトは `opencode`)。

#### フラグ

| フラグ                                   | 説明                                    |
| ---------------------------------------- | --------------------------------------- |
| <nobr><code>{"--port"}</code></nobr>     | リッスンするポート                      |
| <nobr><code>{"--hostname"}</code></nobr> | リッスンするホスト名                    |
| <nobr><code>{"--mdns"}</code></nobr>     | mDNS 検出を有効にする                   |
| <nobr><code>{"--cors"}</code></nobr>     | CORS を許可する追加のブラウザーオリジン |

---

### session

OpenCode セッションを管理します。

```bash
opencode session [command]
```

---

#### list

すべての OpenCode セッションをリストします。

```bash
opencode session list
```

##### フラグ

| フラグ                                    | ショート | 説明                                     |
| ----------------------------------------- | -------- | ---------------------------------------- |
| <nobr><code>{"--max-count"}</code></nobr> | `-n`     | 最新のセッションを N 個に制限            |
| <nobr><code>{"--format"}</code></nobr>    |          | 出力形式: テーブルまたは json (テーブル) |

---

### stats

OpenCode セッションのトークンの使用状況とコストの統計を表示します。

```bash
opencode stats
```

#### フラグ

| フラグ                                  | 説明                                                                                       |
| --------------------------------------- | ------------------------------------------------------------------------------------------ |
| <nobr><code>{"--days"}</code></nobr>    | 過去 N 日間の統計を表示 (全期間)                                                           |
| <nobr><code>{"--tools"}</code></nobr>   | 表示するツールの数 (すべて)                                                                |
| <nobr><code>{"--models"}</code></nobr>  | モデルの使用状況の内訳を表示 (デフォルトでは非表示)。上位 N 件を表示するには数値を渡します |
| <nobr><code>{"--project"}</code></nobr> | プロジェクトでフィルタリング (全プロジェクト、空文字列: 現在のプロジェクト)                |

---

### export

セッションデータを JSON としてエクスポートします。

```bash
opencode export [sessionID]
```

セッション ID を指定しない場合は、利用可能なセッションから選択するように求められます。

---

### import

JSON ファイルまたは OpenCode 共有 URL からセッションデータをインポートします。

```bash
opencode import <file>
```

ローカルファイルまたは OpenCode 共有 URL からインポートできます。

```bash
opencode import session.json
opencode import https://opncd.ai/s/abc123
```

---

### web

Web インターフェイスを使用してヘッドレス OpenCode サーバーを起動します。

```bash
opencode web
```

これにより、HTTP サーバーが起動し、Web ブラウザが開き、Web インターフェイスを通じて OpenCode にアクセスします。 `OPENCODE_SERVER_PASSWORD` を設定して HTTP 基本認証を有効にします (ユーザー名のデフォルトは `opencode`)。

#### フラグ

| フラグ                                   | 説明                                    |
| ---------------------------------------- | --------------------------------------- |
| <nobr><code>{"--port"}</code></nobr>     | リッスンするポート                      |
| <nobr><code>{"--hostname"}</code></nobr> | リッスンするホスト名                    |
| <nobr><code>{"--mdns"}</code></nobr>     | mDNS 検出を有効にする                   |
| <nobr><code>{"--cors"}</code></nobr>     | CORS を許可する追加のブラウザーオリジン |

---

### acp

ACP (エージェントクライアントプロトコル) サーバーを起動します。

```bash
opencode acp
```

このコマンドは、nd-JSON を使用して stdin/stdout 経由で通信する ACP サーバーを起動します。

#### フラグ

| フラグ                                   | 説明                 |
| ---------------------------------------- | -------------------- |
| <nobr><code>{"--cwd"}</code></nobr>      | 作業ディレクトリ     |
| <nobr><code>{"--port"}</code></nobr>     | リッスンするポート   |
| <nobr><code>{"--hostname"}</code></nobr> | リッスンするホスト名 |

---

### uninstall

OpenCode をアンインストールし、関連ファイルをすべて削除します。

```bash
opencode uninstall
```

#### フラグ

| フラグ                                      | ショート | 説明                                         |
| ------------------------------------------- | -------- | -------------------------------------------- |
| <nobr><code>{"--keep-config"}</code></nobr> | `-c`     | 構成ファイルを保持する                       |
| <nobr><code>{"--keep-data"}</code></nobr>   | `-d`     | セッションデータとスナップショットを保持する |
| <nobr><code>{"--dry-run"}</code></nobr>     |          | 削除せずに削除される内容を表示する           |
| <nobr><code>{"--force"}</code></nobr>       | `-f`     | 確認プロンプトをスキップする                 |

---

### upgrade

opencode を最新バージョンまたは特定のバージョンに更新します。

```bash
opencode upgrade [target]
```

最新バージョンにアップグレードするには。

```bash
opencode upgrade
```

特定のバージョンにアップグレードするには。

```bash
opencode upgrade v0.1.48
```

#### フラグ

| フラグ                                 | ショート | 説明                                                   |
| -------------------------------------- | -------- | ------------------------------------------------------ |
| <nobr><code>{"--method"}</code></nobr> | `-m`     | 使用されたインストール方法。curl, npm, pnpm, bun, brew |

---

## グローバルフラグ

opencode CLI は次のグローバルフラグを受け取ります。

| フラグ                                     | ショート | 説明                                  |
| ------------------------------------------ | -------- | ------------------------------------- |
| <nobr><code>{"--help"}</code></nobr>       | `-h`     | ヘルプを表示                          |
| <nobr><code>{"--version"}</code></nobr>    | `-v`     | バージョン番号を出力                  |
| <nobr><code>{"--print-logs"}</code></nobr> |          | ログを標準エラー出力に出力            |
| <nobr><code>{"--log-level"}</code></nobr>  |          | ログレベル (DEBUG、INFO、WARN、ERROR) |

---

## 環境変数

OpenCode は環境変数を使用して構成できます。

| 変数                                  | タイプ   | 説明                                                                |
| ------------------------------------- | -------- | ------------------------------------------------------------------- |
| `OPENCODE_AUTO_SHARE`                 | ブール値 | セッションを自動的に共有する                                        |
| `OPENCODE_GIT_BASH_PATH`              | 文字列   | Windows 上で実行可能な Git Bash へのパス                            |
| `OPENCODE_CONFIG`                     | 文字列   | 構成ファイルへのパス                                                |
| `OPENCODE_CONFIG_DIR`                 | 文字列   | config ディレクトリへのパス                                         |
| `OPENCODE_CONFIG_CONTENT`             | 文字列   | インライン JSON 構成コンテンツ                                      |
| `OPENCODE_DISABLE_AUTOUPDATE`         | ブール値 | 自動更新チェックを無効にする                                        |
| `OPENCODE_DISABLE_PRUNE`              | ブール値 | 古いデータのプルーニングを無効にする                                |
| `OPENCODE_DISABLE_TERMINAL_TITLE`     | ブール値 | ターミナルタイトルの自動更新を無効にする                            |
| `OPENCODE_PERMISSION`                 | 文字列   | インライン化された json 権限設定                                    |
| `OPENCODE_DISABLE_DEFAULT_PLUGINS`    | ブール値 | デフォルトのプラグインを無効にする                                  |
| `OPENCODE_DISABLE_LSP_DOWNLOAD`       | ブール値 | LSP サーバーの自動ダウンロードを無効にする                          |
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | ブール値 | 実験モデルを有効にする                                              |
| `OPENCODE_DISABLE_AUTOCOMPACT`        | ブール値 | 自動コンテキスト圧縮を無効にする                                    |
| `OPENCODE_DISABLE_CLAUDE_CODE`        | ブール値 | `.claude` からの読み取りを無効にする (プロンプト + スキル)          |
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | ブール値 | `~/.claude/CLAUDE.md` の読み取りを無効にする                        |
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | ブール値 | `.claude/skills` のロードを無効にする                               |
| `OPENCODE_DISABLE_MODELS_FETCH`       | ブール値 | リモートソースからのモデルの取得を無効にする                        |
| `OPENCODE_FAKE_VCS`                   | 文字列   | テスト目的の偽の VCS プロバイダー                                   |
| `OPENCODE_CLIENT`                     | 文字列   | クライアント識別子 (デフォルトは `cli`)                             |
| `OPENCODE_ENABLE_EXA`                 | ブール値 | Exa Web 検索ツールを有効にする                                      |
| `OPENCODE_SERVER_PASSWORD`            | 文字列   | `serve`/`web` の基本認証を有効にする                                |
| `OPENCODE_SERVER_USERNAME`            | 文字列   | 基本認証ユーザー名 (デフォルト `opencode`) をオーバーライドします。 |
| `OPENCODE_MODELS_URL`                 | 文字列   | モデル設定を取得するためのカスタム URL                              |

---

### 実験的

これらの環境変数により、変更または削除される可能性のある実験的な機能が有効になります。

| 変数                                            | タイプ   | 説明                                             |
| ----------------------------------------------- | -------- | ------------------------------------------------ |
| `OPENCODE_EXPERIMENTAL`                         | ブール値 | アンブレラフラグ配下の実験的機能を有効にする     |
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY`          | ブール値 | アイコン検出を有効にする                         |
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT`  | ブール値 | TUI で選択時のコピーを無効にする                 |
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | 数値     | bash コマンドのデフォルトのタイムアウト (ミリ秒) |
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX`        | 数値     | LLM 応答の最大出力トークン                       |
| `OPENCODE_EXPERIMENTAL_FILEWATCHER`             | ブール値 | ディレクトリ全体のファイル監視を有効にする       |
| `OPENCODE_EXPERIMENTAL_OXFMT`                   | ブール値 | oxfmt フォーマッタを有効にする                   |
| `OPENCODE_EXPERIMENTAL_LSP_TOOL`                | ブール値 | 実験的な LSP ツールを有効にする                  |
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER`     | ブール値 | ファイルウォッチャーを無効にする                 |
| `OPENCODE_EXPERIMENTAL_EXA`                     | ブール値 | 実験的な Exa 機能を有効にする                    |
| `OPENCODE_EXPERIMENTAL_LSP_TY`                  | ブール値 | python ファイルの TY LSP を有効にする            |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE`               | ブール値 | プランモードを有効にする                         |
| `OPENCODE_EXPERIMENTAL_BACKGROUND_SUBAGENTS`    | ブール値 | バックグラウンド subagent タスクを有効にする     |
| `OPENCODE_EXPERIMENTAL_EVENT_SYSTEM`            | ブール値 | 実験的なイベントシステムを有効にする             |
| `OPENCODE_EXPERIMENTAL_NATIVE_LLM`              | ブール値 | ネイティブ LLM リクエスト経路を有効にする        |
| `OPENCODE_EXPERIMENTAL_PARALLEL`                | ブール値 | 並列 Web 検索実行を有効にする                    |
| `OPENCODE_EXPERIMENTAL_SCOUT`                   | ブール値 | Scout subagent を有効にする                      |
| `OPENCODE_EXPERIMENTAL_WORKSPACES`              | ブール値 | ワークスペースサポートを有効にする               |
