> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 設定ファイル

> Devin CLI の設定ファイル形式に関する完全なリファレンス

Devin CLI では、設定に JSON ファイル (コメント対応) を利用します。このページでは、使用可能なすべてのオプションを説明します。

***

<div id="file-locations">
  ## ファイルの場所
</div>

| ファイル                          | Purpose                           |
| ----------------------------- | --------------------------------- |
| `~/.config/devin/config.json` | ユーザー共通の設定                         |
| `.devin/config.json`          | プロジェクト設定 (コミット対象)                 |
| `.devin/config.local.json`    | プロジェクトのローカルオーバーライド (gitignore 対象) |

<Note>
  Windows では、ユーザー設定のパスは `~\.config\devin\config.json` ではなく、`%APPDATA%\devin\config.json` です (例: `C:\Users\<you>\AppData\Roaming\devin\config.json`) 。
</Note>

***

<div id="full-config-reference">
  ## 完全な設定リファレンス
</div>

<Tabs>
  <Tab title="ユーザー設定">
    ```json theme={null}
    // ~/.config/devin/config.json
    {
      // エージェントの動作
      "agent": {
        "model": "swe-1-6-fast",           // デフォルトのモデル
        "show_history_on_continue": true  // 再開時にメッセージを表示
      },

      // テーマ
      "theme_mode": null,            // "light"、"dark"、"terminal-dark"、"terminal-light"、"nocolor"、または null（自動）

      // 権限
      "permissions": {
        "allow": [],
        "deny": [],
        "ask": []
      },

      // MCP サーバー
      "mcpServers": {},

      // 表示
      "show_path": false,             // 入力欄の枠に CWD を表示
      "unicode_mode": "auto",         // "auto"、"unicode"、または "ascii"
      "show_hints": true,             // やり取りの合間にヒントを表示

      // ファイル補完
      "include_gitignored_files": false, // @ 補完に .gitignore で無視されるファイルを含める

      // ファイルアクセス
      "respect_gitignore": false,        // gitignore されたパスへのツールアクセスをブロック

      // コミットと PR の帰属情報
      "attribution": true,            // コミットと PR に "Generated with Devin" / Co-Authored-By を追加

      // 更新
      "auto_update": true,            // 新しいバージョンをバックグラウンドでインストール

      // 通知
      "notify": "smart",              // "never" | "smart" | "always" — ターミナル通知

      // CLI の HTTP トラフィック用プロキシ設定
      "proxy": {
        "mode": "system",           // "system" | "manual" | "off"
        "url": null,                // プロキシ URL（手動モードで必須）
        "no_proxy": null            // カンマ区切りの除外リスト
      },

      // サンドボックスのネットワークフィルタリング
      "sandbox": {
        "allowed_domains": [],       // ドメインの許可リスト（空 = フィルタリングなし）
        "denied_domains": [],        // ドメインの拒否リスト（こちらが優先）
        "network_mode": "full"       // "full" または "limited"（GET/HEAD/OPTIONS のみ）
      },

      // 他のツールから設定をインポート
      "read_config_from": {
        "cursor": true,
        "windsurf": true,
        "claude": true
      }
    }
    ```
  </Tab>

  <Tab title="プロジェクト設定">
    ```json theme={null}
    // .devin/config.json
    {
      // 権限
      "permissions": {
        "allow": [],
        "deny": [],
        "ask": []
      },

      // MCP サーバー
      "mcpServers": {},

      // 他のツールから設定をインポート
      "read_config_from": {
        "cursor": true,
        "windsurf": true,
        "claude": true
      }
    }
    ```
  </Tab>
</Tabs>

***

<div id="options-reference">
  ## オプションリファレンス
</div>

<Note>
  **ユーザーのみ** と記載されたオプションは、ユーザー設定 (`~/.config/devin/config.json`、Windows では `%APPDATA%\devin\config.json`) でのみ設定できます。プロジェクト設定で利用できるのは、`permissions`、`mcpServers`、`read_config_from`、`hooks` のみです。
</Note>

### agent <span style={{fontSize: '0.7em', color: 'gray'}}>(ユーザーのみ)</span>

| オプション                      | 型       | デフォルト            | 説明                   |
| -------------------------- | ------- | ---------------- | -------------------- |
| `model`                    | string  | `"swe-1-6-fast"` | デフォルトのAIモデル          |
| `show_history_on_continue` | boolean | `true`           | セッション再開時に以前のメッセージを表示 |

### theme\_mode <span style={{fontSize: '0.7em', color: 'gray'}}>(ユーザーのみ)</span>

| 値                  | 動作                                   |
| ------------------ | ------------------------------------ |
| `null`             | 自動検出 (初回実行時に確認)                      |
| `"light"`          | ライトテーマ                               |
| `"dark"`           | ダークテーマ                               |
| `"terminal-dark"`  | 16 色の ANSI カラーに制限したダークテーマ (端末の配色に従う) |
| `"terminal-light"` | 16 色の ANSI カラーに制限したライトテーマ (端末の配色に従う) |
| `"nocolor"`        | カラー出力なし (モノクロ、VT100 端末で有用)           |

<div id="permissions">
  ### 権限
</div>

詳しいドキュメントについては、[権限](/ja/cli/reference/permissions)を参照してください。

```json theme={null}
{
  "permissions": {
    "allow": ["Read(**)", "Exec(git)"],
    "deny": ["Exec(sudo)"],
    "ask": ["Write(**/.env*)"]
  }
}
```

<div id="mcpservers">
  ### mcpServers
</div>

サーバー名とサーバー設定の対応を示すマップです。ローカルコマンド (stdio) とリモートHTTPサーバーの両方に対応しています。詳細は [MCP Configuration](/ja/cli/extensibility/mcp/configuration) を参照してください。

```json theme={null}
{
  "mcpServers": {
    "server-name": {
      "command": "executable",
      "args": ["arg1", "arg2"],
      "env": { "KEY": "value" }
    },
    "remote-server": {
      "url": "https://mcp.example.com/mcp",
      "transport": "http"
    }
  }
}
```

### show\_path <span style={{fontSize: '0.7em', color: 'gray'}}>(ユーザーのみ)</span>

入力欄の枠線に現在の作業ディレクトリのパスを表示します。有効にすると、入力ボックス上部の枠線に、見やすい形式の CWD (例: `~/projects/my-app`) が表示されます。

| 値       | 動作                |
| ------- | ----------------- |
| `false` | 非表示 (デフォルト)       |
| `true`  | 入力欄の枠線に CWD パスを表示 |

### unicode\_mode <span style={{fontSize: '0.7em', color: 'gray'}}>(ユーザーのみ)</span>

ターミナルUIで Unicode 記号を利用するか、ASCII で安全に表示できる代替文字を利用するかを制御します。端末やフォントで Unicode グリフが正しく表示されない場合 (例: ⏺ 記号が四角で表示される場合) は、`"ascii"` に設定してください。

| Value       | Behavior                                 |
| ----------- | ---------------------------------------- |
| `"auto"`    | Environment から Unicode サポートを検出する (デフォルト) |
| `"unicode"` | 常に Unicode 記号を利用する                       |
| `"ascii"`   | 常に ASCII で安全に表示できる文字を利用する                |

### show\_hints <span style={{fontSize: '0.7em', color: 'gray'}}>(ユーザーのみ)</span>

会話の合間に、ときどきヒントを表示します (例: 「ご存じですか？ `/model` を利用すると、利用可能なモデルを切り替えられます」) 。CLIの機能を見つけるのに便利です。使い方に慣れたら、表示しないように `false` に設定してください。

| Value   | Behavior             |
| ------- | -------------------- |
| `true`  | ときどきヒントを表示する (デフォルト) |
| `false` | ヒントを一切表示しない          |

### include\_gitignored\_files <span style={{fontSize: '0.7em', color: 'gray'}}>(ユーザーのみ)</span>

`@` タブ補完の結果に、`.gitignore` で無視されるファイルを含めます。有効にすると、`.gitignore` パターンに一致するファイルが `@` メンション補完に表示されます。参照したいドキュメントやその他のファイルを、`.gitignore` で無視されるディレクトリに保存している場合に便利です。

| 値       | 動作                                           |
| ------- | -------------------------------------------- |
| `false` | 補完結果から `.gitignore` で無視されるファイルを除外します (デフォルト) |
| `true`  | `@` 補完に `.gitignore` で無視されるファイルを含めます         |

### respect\_gitignore <span style={{fontSize: '0.7em', color: 'gray'}}>(ユーザーのみ)</span>

ツール経由でファイルを読み書きする際に、エージェントが `.gitignore` を尊重するかどうかを制御します。有効にすると、gitignore されたパスにアクセスするツール呼び出しはブロックされます。これは `include_gitignored_files` とは別の設定で、後者は `@` タブ補完にのみ影響します。

| 値       | 動作                                                  |
| ------- | --------------------------------------------------- |
| `false` | `.gitignore` に関係なく、エージェントはすべてのファイルにアクセスできます (デフォルト) |
| `true`  | gitignore されたパスへのツールアクセスをブロック                       |

### attribution <span style={{fontSize: '0.7em', color: 'gray'}}>(ユーザーのみ)</span>

エージェントが作成するコミットとプルリクエストに、Devin の帰属情報を追加するかどうかを制御します。有効にすると、コミット本文と PR 本文に `Generated with [Devin]` 行と `Co-Authored-By: Devin` トレーラーが含まれます。どちらも追加しない場合は、`false` に設定します。

| Value   | Behavior                                                                    |
| ------- | --------------------------------------------------------------------------- |
| `true`  | コミットと PR に `Generated with [Devin]` 行と `Co-Authored-By` トレーラーを追加します (デフォルト) |
| `false` | コミットと PR から Devin の帰属情報をすべて省略します                                            |

### auto\_update <span style={{fontSize: '0.7em', color: 'gray'}}>(ユーザーのみ)</span>

macOS と Linux でバックグラウンド自動更新を制御します。有効にすると、Devin CLI の実行中に新しいリリースがダウンロードされて有効化されるため、次回 `devin` を起動した際に自動的に最新バージョンが利用されます。現在実行中のセッションには影響ありません。`current` シンボリックリンクの切り替えが反映されるのは、次回の起動時のみです。

この更新は、中断が発生しても安全なように設計されています。ファイルシステム上の各ステップは一時パスで準備してから、アトミックなリネームで切り替えます。また、同時に実行される更新処理はファイルロックによって直列化されます。更新の途中で終了しても、インストールが壊れた状態になることはありません。再起動後は以前のバージョンがそのまま利用されるだけです。

自身で管理するインストールにのみ適用されます (macOS/Linux での `curl | bash`) 。別の製品に同梱されたインストール (例: Windsurf) ではこの設定は無視され、親アプリケーション経由で更新されます。

| Value   | Behavior                                    |
| ------- | ------------------------------------------- |
| `true`  | バックグラウンドで新しいバージョンをダウンロードしてインストールします (デフォルト) |
| `false` | 新しいバージョンを確認するだけで、`/update` から手動でインストールします   |

<div id="notify">
  ### notify
</div>

エージェントの処理完了時や、ユーザー入力が必要なときのターミナル通知を制御します。CLI は BEL 文字 (ターミナルベル / ビジュアルベルをトリガー) 、OSC 9 エスケープシーケンス (iTerm2 および互換ターミナルでシステム通知をトリガー) 、および OSC 777 シーケンス (rxvt-unicode などのターミナルでデスクトップ通知) を書き込みます。これらのシーケンスを認識しないターミナルでは、安全に無視されます。

| Value      | Behavior                                                    |
| ---------- | ----------------------------------------------------------- |
| `"never"`  | 通知しない                                                       |
| `"smart"`  | ターミナルウィンドウがフォーカスされていないときのみ通知する (OSC のフォーカスレポートを利用)  (デフォルト) |
| `"always"` | フォーカスに関係なく、該当するイベントごとに通知する                                  |

<div id="read_config_from">
  ### read\_config\_from
</div>

他のAIツールの設定からのインポートを制御します。

| Option     | Type         | Default | Description                |
| ---------- | ------------ | ------- | -------------------------- |
| `cursor`   | boolean/null | `true`  | `.cursor/rules/` からインポート   |
| `windsurf` | boolean/null | `true`  | `.windsurf/rules/` からインポート |
| `claude`   | boolean/null | `true`  | `.claude/` からインポート         |

特定のインポートを無効にするには、対応する値を `false` に設定します。`null` は `true` として扱われます。

### proxy <span style={{fontSize: '0.7em', color: 'gray'}}>(ユーザーのみ)</span>

CLI自身の外向きHTTP/HTTPSトラフィック (APIコール、アップデート、MCPサーバーなど) をどのようにルーティングするかを設定します。これはsandboxの子プロセスのネットワーク通信には影響しません (下記の `sandbox` を参照) 。

`mode` フィールドでプロキシ戦略を選択します:

| Mode               | Behavior                                                                                          |
| ------------------ | ------------------------------------------------------------------------------------------------- |
| `"system"` (デフォルト) | 環境変数 (`HTTP_PROXY`、`HTTPS_PROXY`、`ALL_PROXY`) と、macOSおよびWindowsのプラットフォームネイティブPAC (プロキシ自動構成) に従います |
| `"manual"`         | すべてのCLIトラフィックを、明示的に指定した `url` 経由でルーティングします                                                        |
| `"off"`            | 直接接続 — プロキシなし                                                                                     |

| Option     | Type        | Default    | Description                                                                                                           |
| ---------- | ----------- | ---------- | --------------------------------------------------------------------------------------------------------------------- |
| `mode`     | string      | `"system"` | プロキシ戦略: `"system"`、`"manual"`、または `"off"`                                                                             |
| `url`      | string/null | `null`     | プロキシURL。`mode` が `"manual"` の場合は必須です。`http://`、`https://`、`socks5://` スキームをサポートします                                    |
| `no_proxy` | string/null | `null`     | プロキシを経由しないホスト/ドメインのカンマ区切りリスト。`NO_PROXY` 環境変数と同じ構文を使用します (例: `"localhost,127.0.0.1,.corp.example.com"`) 。どのモードでも適用されます |

**例 — 社内プロキシ:**

```json theme={null}
{
  "proxy": {
    "mode": "manual",
    "url": "http://proxy.corp.example.com:8080",
    "no_proxy": "localhost,127.0.0.1,.internal.corp"
  }
}
```

**例 — プロキシを無効にする:**

```json theme={null}
{
  "proxy": {
    "mode": "off"
  }
}
```

<div id="sandbox" />

### sandbox <span style={{fontSize: '0.7em', color: 'gray'}}>(ユーザーのみ)</span>

<Warning>
  sandbox のネットワークフィルタリングは現在不安定です。この機能が必要な場合は、安定化の時期についてアカウント担当者にお問い合わせください。
</Warning>

sandbox のドメイン単位のネットワークフィルタリングを設定します。`--sandbox` がアクティブで、ドメインフィルタリングが設定されている場合、管理対象のネットワークプロキシがループバック上で起動し、sandbox はすべての子プロセスのトラフィックをそのプロキシ経由に制限します。

<Note>
  sandbox の仕組みの全体像 — Enterprise による強制適用や、Enterprise 設定とユーザー設定の相互作用を含む — については、[sandbox ドキュメント](/ja/cli/sandbox) を参照してください。
</Note>

`--sandbox` フラグは、アクティブな Read / Write の permission scope を OS レベルで強制適用します。書き込み可能なルートは、許可された `Write(...)` scope とワークスペースのディレクトリから決まり、読み取り可能なルートは `Read(...)` scope から決まります (プラットフォームのデフォルトは常に読み取り可能です) 。セッション中に新たに付与された scope は、後続のコマンドに対して sandbox を動的に拡張します。

<Note>
  `--sandbox` が指定されていても sandbox の解決に失敗した場合 (e.g.、現在のプラットフォームでsandbox化ツールを利用できない場合) 、CLI はsandboxなしで実行するのではなく起動を拒否します。このフェイルクローズの動作により、`--sandbox` のセキュリティ上の意図が気付かないうちに回避されることはありません。
</Note>

| オプション             | 型         | デフォルト    | 説明                                                                   |
| ----------------- | --------- | -------- | -------------------------------------------------------------------- |
| `allowed_domains` | string\[] | `[]`     | プロキシ経由で許可するドメインパターン。空でない場合、一致するドメインのみを許可します (許可リスト モード)              |
| `denied_domains`  | string\[] | `[]`     | 常にブロックするドメインパターン。拒否ルールは許可ルールより優先されます                                 |
| `network_mode`    | string    | `"full"` | `"full"` はすべての HTTP メソッドを許可し、`"limited"` は GET/HEAD/OPTIONS のみを許可します |

**ドメインパターンの構文:**

| パターン             | 一致対象                     |
| ---------------- | ------------------------ |
| `example.com`    | 完全一致のみ                   |
| `*.example.com`  | 任意のサブドメイン (ルートドメイン自体は除く) |
| `**.example.com` | ルートドメインおよび任意のサブドメイン      |

**例:**

```json theme={null}
{
  "sandbox": {
    "allowed_domains": [
      "github.com",
      "**.npmjs.org",
      "**.crates.io",
      "**.pypi.org"
    ],
    "denied_domains": ["evil.example.com"],
    "network_mode": "full"
  }
}
```

<Note>
  ドメインフィルタリングは、sandbox がアクティブな場合 (`--sandbox`) に適用されます。`--sandbox` を指定しない場合、sandbox のセクションは無視されます。
</Note>

<Note>
  Enterprise Team では、管理者は [チーム設定](/ja/cli/enterprise/team-settings#sandbox-enforcement) からドメインリストを上書きできます。Enterprise の許可リストが基準となるため、ローカルの `allowed_domains` は置き換えられます。一方、Enterprise の拒否リストは追加式で、ローカルの `denied_domains` にマージされます。
</Note>

***

<div id="json-with-comments">
  ## コメント付き JSON
</div>

設定ファイルでは、JavaScript 形式のコメントをサポートしています。

```json theme={null}
{
  // 行コメント
  "agent": {
    "model": "sonnet"  // インラインコメント
  },
  /* ブロック
     コメント */
  "permissions": {}
}
```
