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

ファイルの場所

Windows では、ユーザー設定のパスは ~\.config\devin\ ではなく、%APPDATA%\devin\config.json および %APPDATA%\devin\mcp_config.json です (例: C:\Users\<you>\AppData\Roaming\devin\config.json)。
MCPサーバーは v3000.3 (Local 3.6 リリース) で専用の mcp_config.json ファイルに移行しました。以前のバージョンでは、代わりにメイン設定ファイルの mcpServers キーに保存されます。新しいバージョンでは、起動時にそこにある mcpServers エントリを自動的に移行します。mcpServers を参照してください。

完全な設定リファレンス


オプションリファレンス

ユーザーのみ と記載されたオプションは、ユーザー設定 (~/.config/devin/config.json、Windows では %APPDATA%\devin\config.json) でのみ設定できます。プロジェクト設定で利用できるのは、permissionsread_config_fromhooks のみです。mcpServers は両方のレベルで設定できますが、専用の mcp_config.json ファイルに保存されます (mcpServers を参照) 。

agent (ユーザーのみ)

theme_mode (ユーザーのみ)

権限

詳しいドキュメントについては、権限を参照してください。

mcpServers

サーバー名とサーバー設定の対応を示すマップです。ローカルコマンド (stdio) とリモートHTTPサーバーの両方に対応しています。詳細は MCP Configuration を参照してください。 v3000.3 (Local 3.6 リリース) 以降、MCPサーバーは専用ファイルで管理されます: ~/.config/devin/mcp_config.json (Windows では %APPDATA%\devin\mcp_config.json) 、.devin/mcp_config.json、および .devin/mcp_config.local.json。以前のバージョンでは、mcpServers キーはメイン設定ファイルに直接含まれています。新しいバージョンでは、起動時に自動的に専用ファイルへ移行されます。

show_path (ユーザーのみ)

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

unicode_mode (ユーザーのみ)

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

show_hints (ユーザーのみ)

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

include_gitignored_files (ユーザーのみ)

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

respect_gitignore (ユーザーのみ)

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

attribution (ユーザーのみ)

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

subagents_enabled (ユーザーのみ)

エージェントが作業をサブエージェントに委任できるかどうかを制御します。無効にすると、run_subagent ツールと read_subagent ツールが削除され、エージェントがすべての作業を自身で行います。この設定を変更すると即座に適用され、実行中のセッションにも再起動なしで反映されます。
組織のポリシーが優先されます。管理者が Default subagent model 設定で組織のサブエージェントを無効にしている場合、この設定にかかわらずサブエージェントは無効のままです。

keymap (ユーザーのみ)

CLI に組み込まれているキーボード ショートカットを上書きします。このセクションは、前提情報 (globaleditorinputlist、…) ごとにアクション名と、それをトリガーするキーを対応付ける表です。記載しないアクションには、組み込みのデフォルトが適用されます。
キー仕様は、修飾キー (ctrlaltshift) を - で区切って並べ、その後に1つのキー名 (文字、または enteresctabhomepage-upf5 などの名前付きキー) を指定したものです。修飾キーの順序は問わず、マッチングでは大文字と小文字が区別されません。ただし、単一の大文字は Shift を押した状態のキーにバインドされます ("K""shift-k" と同じです) 。
/shortcuts を実行すると、ここで使用するものと同じ context.action 識別子を含むすべてのアクションを確認し、対話形式で再バインドできます。そこで設定したバインドはこのセクションに保存されます。
global.cancel (Ctrl+C) はバインド解除できないため、実行中のエージェントをいつでも中断できます。無効なエントリ、不明な前提情報やアクション、同じ前提情報内の別のショートカットと競合するオーバーライドは起動時に報告され、組み込みのデフォルトに戻されます。

auto_update (ユーザーのみ)

macOS と Linux でバックグラウンド自動更新を制御します。有効にすると、Devin CLI の実行中に新しいリリースがダウンロードされて有効化されるため、次回 devin を起動した際に自動的に最新バージョンが利用されます。現在実行中のセッションには影響ありません。current シンボリックリンクの切り替えが反映されるのは、次回の起動時のみです。 この更新は、中断が発生しても安全なように設計されています。ファイルシステム上の各ステップは一時パスで準備してから、アトミックなリネームで切り替えます。また、同時に実行される更新処理はファイルロックによって直列化されます。更新の途中で終了しても、インストールが壊れた状態になることはありません。再起動後は以前のバージョンがそのまま利用されるだけです。 自身で管理するインストールにのみ適用されます (macOS/Linux での curl | bash) 。別の製品に同梱されたインストール (例: Windsurf) ではこの設定は無視され、親アプリケーション経由で更新されます。

keymap (ユーザーのみ)

キーボード ショートカットを上書きします。上書きは前提情報とアクションで指定します。各ショートカットについて、/shortcuts に表示される context.action 識別子 (例: editor.insert_newline) を使用します。
オーバーライドは、そのアクションの組み込みのデフォルト設定を完全に置き換えます。記載されていないアクションにはデフォルト設定が適用されます。Ctrl+C (キャンセル) はバインド解除できません。無効なエントリ (不明な名前、不正なキー仕様、型が正しくない値、または同じ前提情報内の別のバインドと競合するオーバーライド) は、起動時に警告として通知され、スキップされます。その他の設定は引き続き適用されます。 キー仕様は、-で区切られた0個以上の修飾キーと、それに続く1つのキー名で構成されます (例: ctrl-shift-palt-enterf5K) 。修飾キー: ctrl/control/calt/meta/option/opt/mshift/s。名前付きキー: enteresctabbackspacedeleteinsertupdownleftrighthomeendpage-uppage-downspacef1f24。それ以外の単一文字は、その文字キーにバインドされます (大文字と小文字は区別されます。KはShift+Kにバインドされます) 。マイナスキーには-を使用します (ctrl--) 。 対話的に再バインドすることもできます。/shortcutsでショートカット行を選択してEnterを押し、新しいキーを押します。変更はこのkeymapセクションに保存されます。キーバインドのカスタマイズを参照してください。

notify

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

read_config_from

他のAIツールの設定からのインポートを制御します。 特定のインポートを無効にするには、対応する値を false に設定します。nulltrue として扱われます。

proxy (ユーザーのみ)

CLI自身の外向きHTTP/HTTPSトラフィック (APIコール、アップデート、MCPサーバーなど) をどのようにルーティングするかを設定します。これはサンドボックスの子プロセスのネットワーク通信には影響しません (下記の sandbox を参照) 。 mode フィールドでプロキシ戦略を選択します: 例 — 社内プロキシ:
例 — プロキシを無効にする:
管理者は、マシン全体に適用されるsystem configuration file にも同じ proxy ブロックを設定できます。Enterprise設定が優先されるため、両方のファイルでプロキシを設定するとエラーになります。組織で管理している場合は、ユーザー設定から proxy セクションを削除してください。

sandbox (ユーザーのみ)

サンドボックス のネットワークフィルタリングは現在不安定です。この機能が必要な場合は、安定化の時期についてアカウント担当者にお問い合わせください。
サンドボックス のドメイン単位のネットワークフィルタリングを設定します。--sandbox がアクティブで、ドメインフィルタリングが設定されている場合、管理対象のネットワークプロキシがループバック上で起動し、サンドボックス はすべての子プロセスのトラフィックをそのプロキシ経由に制限します。
サンドボックス の仕組みの全体像 — Enterprise による強制適用や、Enterprise 設定とユーザー設定の相互作用を含む — については、サンドボックス ドキュメント を参照してください。
--sandbox フラグは、書き込み可能なパスと deny ルールを OS レベルで強制適用します。書き込み可能なルートは、許可された Write(...) scope とワークスペースのディレクトリから決まります。それ以外は、Read(...) の拒否ルールで非表示にされたパスを除き、すべて読み取り可能です。セッション中に新たに付与された Write(...) scope は、後続のコマンドに対して サンドボックス を動的に拡張します。
--sandbox が指定されていても サンドボックス の解決に失敗した場合 (e.g.、現在のプラットフォームでサンドボックス化ツールを利用できない場合) 、CLI はサンドボックスなしで実行するのではなく起動を拒否します。このフェイルクローズの動作により、--sandbox のセキュリティ上の意図が気付かないうちに回避されることはありません。
ドメインパターンの構文: 例:
ドメインフィルタリングは、サンドボックス がアクティブな場合 (--sandbox) に適用されます。--sandbox を指定しない場合、サンドボックス のセクションは無視されます。
Enterprise Team では、管理者は チーム設定 からドメインリストを上書きできます。Enterprise の許可リストが基準となるため、ローカルの allowed_domains は置き換えられます。一方、Enterprise の拒否リストは追加式で、ローカルの denied_domains にマージされます。

コメント付き JSON

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