Skip to Content
ユーザーガイド設定設定

Qwen Code の設定

Tip

認証 / API キー: 認証(Qwen OAuth、Alibaba Cloud Coding Plan、または API キー)および認証関連の環境変数(OPENAI_API_KEY など)については、認証 を参照してください。

Note

新しい設定形式に関する注意: settings.json ファイルの形式が、より整理された新しい構造に更新されました。旧形式は自動的に移行されます。 Qwen Code では、環境変数、コマンドライン引数、設定ファイルなど、動作を設定する複数の方法を提供しています。このドキュメントでは、異なる設定方法と利用可能な設定項目について説明します。

設定の階層

設定は以下の優先順位で適用されます(数字が小さいほど優先度が低く、大きいほど上書きされます):

レベル設定ソース説明
1デフォルト値アプリケーション内にハードコードされたデフォルト値
2システムデフォルトファイル他の設定ファイルで上書き可能なシステム全体のデフォルト設定
3ユーザー設定ファイル現在のユーザーに適用されるグローバル設定
4プロジェクト設定ファイルプロジェクト固有の設定
5システム設定ファイル他のすべての設定ファイルを上書きするシステム全体の設定
6環境変数システム全体またはセッション固有の変数(.env ファイルから読み込まれる場合あり)
7コマンドライン引数CLI 起動時に渡される値

設定ファイル

Qwen Code は永続的な設定に JSON 設定ファイルを使用します。これらのファイルには以下の 4 つの配置場所があります:

ファイルタイプ場所適用範囲
システムデフォルトファイルLinux: /etc/qwen-code/system-defaults.json
Windows: C:\ProgramData\qwen-code\system-defaults.json
macOS: /Library/Application Support/QwenCode/system-defaults.json
パスは QWEN_CODE_SYSTEM_DEFAULTS_PATH 環境変数で上書き可能です。
システム全体のデフォルト設定のベースレイヤーを提供します。これらの設定は最も優先度が低く、ユーザー、プロジェクト、またはシステム上書き設定によって上書きされることを想定しています。
ユーザー設定ファイル~/.qwen/settings.json~ はホームディレクトリ)。現在のユーザーのすべての Qwen Code セッションに適用されます。
プロジェクト設定ファイルプロジェクトのルートディレクトリ内の .qwen/settings.json特定のプロジェクトから Qwen Code を実行した場合にのみ適用されます。プロジェクト設定はユーザー設定を上書きします。
システム設定ファイルLinux: /etc/qwen-code/settings.json
Windows: C:\ProgramData\qwen-code\settings.json
macOS: /Library/Application Support/QwenCode/settings.json
パスは QWEN_CODE_SYSTEM_SETTINGS_PATH 環境変数で上書き可能です。
システム上のすべてのユーザーのすべての Qwen Code セッションに適用されます。システム設定はユーザー設定とプロジェクト設定を上書きします。企業のシステム管理者がユーザーの Qwen Code 設定を管理する場合に役立ちます。
Note

設定内の環境変数に関する注意: settings.json ファイル内の文字列値は、$VAR_NAME または ${VAR_NAME} 構文を使用して環境変数を参照できます。これらの変数は設定の読み込み時に自動的に解決されます。例えば、環境変数 MY_API_TOKEN がある場合、settings.json"apiKey": "$MY_API_TOKEN" のように使用できます。

プロジェクト内の .qwen ディレクトリ

プロジェクト設定ファイルに加えて、プロジェクトの .qwen ディレクトリには、Qwen Code の動作に関連するその他のプロジェクト固有のファイルを含めることができます。例:

設定の移行

Qwen Code は、レガシー設定を新しい形式に自動的に移行します。移行前に旧設定ファイルはバックアップされます。以下の設定は、否定形(disable*)から肯定形(enable*)の命名に変更されました:

旧設定新設定備考
disableAutoUpdate + disableUpdateNaggeneral.enableAutoUpdate単一設定に統合
disableLoadingPhrasesui.accessibility.enableLoadingPhrases
disableFuzzySearchcontext.fileFiltering.enableFuzzySearch
disableCacheControlmodel.generationConfig.enableCacheControl
Note

ブール値の反転: 移行時、ブール値は反転されます(例:disableAutoUpdate: trueenableAutoUpdate: false になります)。

disableAutoUpdatedisableUpdateNag の統合ポリシー

両方のレガシー設定が存在し、値が異なる場合、移行は以下のポリシーに従います:disableAutoUpdate または disableUpdateNagいずれかtrue の場合、enableAutoUpdatefalse になります:

disableAutoUpdatedisableUpdateNag移行後の enableAutoUpdate
falsefalsetrue
falsetruefalse
truefalsefalse
truetruefalse

settings.json で利用可能な設定

設定はカテゴリごとに整理されています。すべての設定は、settings.json ファイル内の対応するトップレベルカテゴリオブジェクト内に配置してください。

general

設定説明デフォルト
general.preferredEditorstringファイルを開く際に優先するエディタ。undefined
general.vimModebooleanVim キーバインドを有効にします。false
general.enableAutoUpdateboolean起動時に自動更新チェックとインストールを有効にします。true
general.gitCoAuthorbooleanQwen Code を介してコミットを行う際、git コミットメッセージに自動的に Co-authored-by トレーラーを追加します。true
general.checkpointing.enabledbooleanリカバリ用のセッションチェックポイントを有効にします。false
general.defaultFileEncodingstring新規ファイルのデフォルトエンコーディング。BOM なし UTF-8 の場合は "utf-8"(デフォルト)、BOM 付き UTF-8 の場合は "utf-8-bom" を使用します。プロジェクトで BOM が特に必要な場合のみ変更してください。"utf-8"

output

設定説明デフォルト可能な値
output.formatstringCLI 出力の形式。"text""text", "json"

ui

設定説明デフォルト
ui.themestringUI のカラースキーマ。利用可能なオプションについては テーマ を参照してください。undefined
ui.customThemesobjectカスタムテーマ定義。{}
ui.statusLineobjectカスタムステータスライン設定。フッターの左セクションに表示されるシェルコマンドの出力。詳細は ステータスライン を参照してください。undefined
ui.hideWindowTitlebooleanウィンドウのタイトルバーを非表示にします。false
ui.hideTipsbooleanUI 内のヘルプチップを非表示にします。false
ui.hideBannerbooleanアプリケーションバナーを非表示にします。false
ui.hideFooterbooleanUI からフッターを非表示にします。false
ui.showMemoryUsagebooleanUI にメモリ使用量情報を表示します。false
ui.showLineNumbersbooleanCLI 出力のコードブロックに行番号を表示します。true
ui.showCitationsbooleanチャット内の生成テキストの出典を表示します。true
ui.compactModebooleanツール出力と思考プロセスを非表示にし、表示をクリーンにします。セッション中に Ctrl+O で切り替え可能です。有効にすると、フッターに compact インジケーターが表示されます。この設定はセッション間で保持されます。false
enableWelcomeBackboolean会話履歴のあるプロジェクトに戻った際に、ウェルカムバックダイアログを表示します。有効にすると、Qwen Code は以前生成されたプロジェクトサマリー(.qwen/PROJECT_SUMMARY.md)があるプロジェクトに戻ったことを自動的に検出し、以前の会話を継続するか新規に開始するかを選択できるダイアログを表示します。この機能は /summary コマンドおよび終了確認ダイアログと連携します。true
ui.accessibility.enableLoadingPhrasesbooleanローディングフレーズを有効にします(アクセシビリティ向上のために無効化可能)。true
ui.accessibility.screenReaderbooleanスクリーンリーダーモードを有効にします。TUI をスクリーンリーダーとの互換性を高めるように調整します。false
ui.customWittyPhrasesarray of stringsローディング状態に表示するカスタムフレーズのリスト。指定すると、CLI はデフォルトの代わりにこれらのフレーズを循環表示します。[]
ui.enableFollowupSuggestionsbooleanモデルが応答した後に次の入力を予測する フォローアップ提案 を有効にします。提案はゴーストテキストとして表示され、Tab、Enter、または右矢印キーで確定できます。true
ui.enableCacheSharingboolean提案生成にキャッシュ対応のフォーククエリを使用します。プレフィックスキャッシュをサポートするプロバイダーでのコストを削減します(実験的機能)。true
ui.enableSpeculationboolean確定した提案を提出前に推測実行します。確定時に結果が即座に表示されます(実験的機能)。false

ide

設定説明デフォルト
ide.enabledbooleanIDE 統合モードを有効にします。false
ide.hasSeenNudgebooleanユーザーが IDE 統合の通知を確認済みかどうか。false

privacy

設定説明デフォルト
privacy.usageStatisticsEnabledboolean使用統計情報の収集を有効にします。true

model

設定説明デフォルト
model.namestring会話に使用する Qwen モデル。undefined
model.maxSessionTurnsnumberセッションに保持するユーザー/モデル/ツールのターンの最大数。-1 は無制限を意味します。-1
model.generationConfigobject基盤となるコンテンツジェネレーターに渡される高度な上書き設定。timeoutmaxRetriesenableCacheControlcontextWindowSize(モデルのコンテキストウィンドウサイズを上書き)、modalities(自動検出された入力モダリティを上書き)、customHeaders(API リクエスト用のカスタム HTTP ヘッダー)、extra_body(OpenAI 互換 API リクエスト専用の追加ボディパラメータ)などのリクエストコントロールと、samplingParams(例:temperaturetop_pmax_tokens)の微調整パラメータをサポートします。プロバイダーのデフォルトに依存する場合は未設定のままにしてください。undefined
model.chatCompression.contextPercentageThresholdnumberチャット履歴圧縮のしきい値を、モデルの総トークン制限に対する割合として設定します。これは 0 から 1 の値で、自動圧縮と手動の /compress コマンドの両方に適用されます。例えば、値が 0.6 の場合、チャット履歴がトークン制限の 60% を超えると圧縮がトリガーされます。圧縮を完全に無効にするには 0 を使用します。0.7
model.skipNextSpeakerCheckboolean次のスピーカーチェックをスキップします。false
model.skipLoopDetectionbooleanループ検出チェックを無効にします。ループ検出は AI 応答の無限ループを防ぎますが、正当なワークフローを中断する誤検知を生成する場合があります。ループ検出の誤検知による中断が頻繁に発生する場合は、このオプションを有効にしてください。false
model.skipStartupContextboolean各セッションの開始時に、スタートアップワークスペースコンテキスト(環境サマリーと確認応答)の送信をスキップします。コンテキストを手動で提供したい場合、または起動時のトークン消費を節約したい場合に有効にします。false
model.enableOpenAILoggingbooleanデバッグと分析のために OpenAI API 呼び出しのログ記録を有効にします。有効にすると、API リクエストとレスポンスが JSON ファイルに記録されます。false
model.openAILoggingDirstringOpenAI API ログのカスタムディレクトリパス。指定しない場合、現在の作業ディレクトリの logs/openai にデフォルト設定されます。絶対パス、相対パス(現在の作業ディレクトリから解決)、および ~ 展開(ホームディレクトリ)をサポートします。undefined

model.generationConfig の例:

{ "model": { "generationConfig": { "timeout": 60000, "contextWindowSize": 128000, "modalities": { "image": true }, "enableCacheControl": true, "customHeaders": { "X-Client-Request-ID": "req-123" }, "extra_body": { "enable_thinking": true }, "samplingParams": { "temperature": 0.2, "top_p": 0.8, "max_tokens": 1024 } } } }

max_tokens(適応型出力トークン):

samplingParams.max_tokens が設定されていない場合、Qwen Code は GPU リソース使用量を最適化するために適応型出力トークン戦略を使用します:

  1. リクエストはデフォルトで 8K 出力トークンの制限から開始されます
  2. 応答が切り捨てられた場合(モデルが制限に達した場合)、Qwen Code は自動的に 64K トークンで再試行します
  3. 部分的な出力は破棄され、再試行からの完全な応答に置き換えられます

これはユーザーに対して透過的です — エスカレーションが発生した場合、再試行インジケーターが一時的に表示されることがあります。応答の 99% が 5K トークン未満であるため、再試行はまれにしか発生しません(リクエストの 1% 未満)。

この動作を上書きするには、設定で samplingParams.max_tokens を設定するか、QWEN_CODE_MAX_OUTPUT_TOKENS 環境変数を使用してください。

contextWindowSize:

選択したモデルのデフォルトのコンテキストウィンドウサイズを上書きします。Qwen Code はモデル名のマッチングに基づいて組み込みのデフォルトと定数のフォールバック値を使用してコンテキストウィンドウを決定します。プロバイダーの実効コンテキスト制限が Qwen Code のデフォルトと異なる場合に、この設定を使用してください。この値はモデルの想定される最大コンテキスト容量を定義するものであり、リクエストごとのトークン制限ではありません。

modalities:

選択したモデルの自動検出された入力モダリティを上書きします。Qwen Code はモデル名のパターンマッチングに基づいて、サポートされているモダリティ(画像、PDF、音声、動画)を自動的に検出します。自動検出が正しくない場合(例:サポートしているが認識されていないモデルで pdf を有効にする場合)に、この設定を使用してください。形式:{ "image": true, "pdf": true, "audio": true, "video": true }。サポートされていないタイプはキーを省略するか false に設定してください。

customHeaders:

すべての API リクエストにカスタム HTTP ヘッダーを追加できます。リクエストのトレース、モニタリング、API ゲートウェイルーティング、またはモデルごとに異なるヘッダーが必要な場合に役立ちます。modelProviders[].generationConfig.customHeaderscustomHeaders が定義されている場合はそれが直接使用され、それ以外の場合は model.generationConfig.customHeaders のヘッダーが使用されます。両レベル間でマージは行われません。

extra_body フィールドを使用すると、API に送信されるリクエストボディにカスタムパラメータを追加できます。標準の設定フィールドでカバーされていないプロバイダー固有のオプションに役立ちます。注意:このフィールドは OpenAI 互換プロバイダー(openaiqwen-oauth)でのみサポートされています。Anthropic および Gemini プロバイダーでは無視されます。 modelProviders[].generationConfig.extra_bodyextra_body が定義されている場合はそれが直接使用され、それ以外の場合は model.generationConfig.extra_body の値が使用されます。

model.openAILoggingDir の例:

  • "~/qwen-logs" - ~/qwen-logs ディレクトリにログを出力
  • "./custom-logs" - 現在のディレクトリからの相対パス ./custom-logs にログを出力
  • "/tmp/openai-logs" - 絶対パス /tmp/openai-logs にログを出力

fastModel

設定説明デフォルト
fastModelstringプロンプト提案 の生成と推測実行に使用されるモデル。メインモデルを使用する場合は空のままにします。小さく高速なモデル(例:qwen3-coder-flash)を使用すると、レイテンシとコストを削減できます。/model --fast でも設定可能です。""

context

設定説明デフォルト
context.fileNamestring or array of stringsコンテキストファイルの名前。undefined
context.importFormatstringメモリをインポートする際に使用する形式。undefined
context.includeDirectoriesarrayワークスペースコンテキストに含める追加のディレクトリ。ワークスペースコンテキストに含める追加の絶対パスまたは相対パスの配列を指定します。デフォルトでは、存在しないディレクトリは警告とともにスキップされます。パスには ~ を使用してユーザーのホームディレクトリを参照できます。この設定は --include-directories コマンドラインフラグと組み合わせることができます。[]
context.loadFromIncludeDirectoriesboolean/memory refresh コマンドの動作を制御します。true に設定すると、追加されたすべてのディレクトリから QWEN.md ファイルが読み込まれます。false に設定すると、QWEN.md は現在のディレクトリからのみ読み込まれます。false
context.fileFiltering.respectGitIgnoreboolean検索時に .gitignore ファイルを尊重します。true
context.fileFiltering.respectQwenIgnoreboolean検索時に .qwenignore ファイルを尊重します。true
context.fileFiltering.enableRecursiveFileSearchbooleanプロンプトで @ プレフィックスを補完する際、現在のツリー下でファイル名を再帰的に検索するかどうか。true
context.fileFiltering.enableFuzzySearchbooleantrue の場合、ファイル検索時にファジー検索機能を有効にします。ファイル数が非常に多いプロジェクトでパフォーマンスを向上させるには false に設定します。true
context.gapThresholdMinutesnumberコンテキストトークンを解放するために、保持されている思考ブロックがクリアされるまでの非アクティブ時間(分)。一般的なプロバイダーのプロンプトキャッシュ TTL と一致します。プロバイダーのキャッシュ TTL が長い場合は、より高い値に設定してください。5

ファイル検索のパフォーマンスに関するトラブルシューティング

ファイル検索(例:@ 補完)でパフォーマンスの問題が発生している場合、特にファイル数が非常に多いプロジェクトでは、推奨順に以下の方法を試してください:

  1. .qwenignore を使用する: プロジェクトルートに .qwenignore ファイルを作成し、参照する必要のない大量のファイルを含むディレクトリ(例:ビルド成果物、ログ、node_modules)を除外します。クロールされるファイルの総数を減らすことが、パフォーマンス向上に最も効果的です。
  2. ファジー検索を無効にする: ファイルの除外だけでは不十分な場合、settings.jsonenableFuzzySearchfalse に設定してファジー検索を無効にできます。これにより、より単純で非ファジーなマッチングアルゴリズムが使用され、高速化される場合があります。
  3. 再帰的ファイル検索を無効にする: 最後の手段として、enableRecursiveFileSearchfalse に設定して再帰的ファイル検索を完全に無効にできます。プロジェクトの再帰的クロールを回避するため、これが最速のオプションになります。ただし、@ 補完を使用する際にファイルのフルパスを入力する必要があります。

tools

設定説明デフォルト備考
tools.sandboxboolean or stringサンドボックス実行環境(ブール値またはパス文字列)。undefined
tools.shell.enableInteractiveShellbooleanインタラクティブシェル体験に node-pty を使用します。child_process へのフォールバックは引き続き適用されます。false
tools.corearray of strings非推奨。 次期バージョンで削除されます。代わりに permissions.allow + permissions.deny を使用してください。組み込みツールを許可リストに制限します。リストにないすべてのツールは無効になります。undefined
tools.excludearray of strings非推奨。 代わりに permissions.deny を使用してください。検出から除外するツール名。初回読み込み時に自動的に permissions 形式に移行されます。undefined
tools.allowedarray of strings非推奨。 代わりに permissions.allow を使用してください。確認ダイアログをバイパスするツール名。初回読み込み時に自動的に permissions 形式に移行されます。undefined
tools.approvalModestringツール使用のデフォルト承認モードを設定します。default可能な値: plan(分析のみ、ファイル変更やコマンド実行は行わない)、default(ファイル編集やシェルコマンド実行前に承認を要求)、auto-edit(ファイル編集を自動承認)、yolo(すべてのツール呼び出しを自動承認)
tools.discoveryCommandstringツール検出のために実行するコマンド。undefined
tools.callCommandstringtools.discoveryCommand を使用して検出された特定のツールを呼び出すためのカスタムシェルコマンドを定義します。シェルコマンドは以下の条件を満たす必要があります:最初の引数として関数 name関数宣言  と完全に一致)を受け取る必要があります。stdin 上で JSON として関数引数を読み取る必要があります(functionCall.args に類似)。stdout 上で JSON として関数出力を返す必要があります(functionResponse.response.content に類似)。undefined
tools.useRipgrepbooleanフォールバック実装の代わりにファイルコンテンツ検索に ripgrep を使用します。検索パフォーマンスが向上します。true
tools.useBuiltinRipgrepbooleanバンドルされた ripgrep バイナリを使用します。false に設定すると、代わりにシステムレベルの rg コマンドが使用されます。この設定は tools.useRipgreptrue の場合にのみ有効です。true
tools.truncateToolOutputThresholdnumberこの文字数を超える場合、ツール出力を切り捨てます。Shell、Grep、Glob、ReadFile、ReadManyFiles ツールに適用されます。25000再起動が必要: はい
tools.truncateToolOutputLinesnumberツール出力を切り捨てる際に保持する最大行数またはエントリ数。Shell、Grep、Glob、ReadFile、ReadManyFiles ツールに適用されます。1000再起動が必要: はい
Note

tools.core / tools.exclude / tools.allowed からの移行: これらのレガシー設定は非推奨であり、初回読み込み時に新しい permissions 形式に自動的に移行されます。permissions.allow / permissions.deny を直接設定することを推奨します。ルールを対話的に管理するには /permissions を使用してください。

permissions

権限システムは、どのツールを実行可能か、確認が必要か、ブロックされるかを細かく制御します。

決定の優先順位(高い順): deny > ask > allow > (デフォルト/インタラクティブモード)

最初に一致したルールが適用されます。ルールは "ToolName" または "ToolName(specifier)" の形式を使用します。

設定説明デフォルト
permissions.allowarray of strings自動承認されるツール呼び出しのルール(確認不要)。すべてのスコープ(ユーザー + プロジェクト + システム)でマージされます。undefined
permissions.askarray of strings常にユーザー確認が必要なツール呼び出しのルール。allow より優先されます。undefined
permissions.denyarray of stringsブロックされるツール呼び出しのルール。最高優先度 — allowask の両方を上書きします。undefined

ツール名のエイリアス(ルール内でいずれも使用可能):

エイリアス正規のツール名備考
Bash, Shellrun_shell_command
Read, ReadFileread_fileメタカテゴリ — 下記参照
Edit, EditFileeditメタカテゴリ — 下記参照
Write, WriteFilewrite_file
Grep, SearchFilesgrep_search
Glob, FindFilesglob
ListFileslist_directory
WebFetchweb_fetch
Agenttask
Skillskill

メタカテゴリ:

一部のルール名は自動的に複数のツールをカバーします:

ルール名カバーされるツール
Readread_file, grep_search, glob, list_directory
Editedit, write_file

[!important] Read(/path/**)4 つすべての読み取りツール(ファイル読み取り、grep、glob、ディレクトリ一覧)に一致します。 ファイル読み取りのみを制限するには、ReadFile(/path/**) または read_file(/path/**) を使用してください。

ルール構文の例:

ルール意味
"Bash"すべてのシェルコマンド
"Bash(git *)"git で始まるシェルコマンド(単語境界:gitk は含まない)
"Bash(git push *)"git push origin main のようなシェルコマンド
"Bash(npm run *)"すべての npm run スクリプト
"Read"すべてのファイル読み取り操作(read、grep、glob、list)
"Read(./secrets/**)"./secrets/ 配下のすべてのファイルを再帰的に読み取り
"Edit(/src/**/*.ts)"プロジェクトルート /src/ 配下の TypeScript ファイルを編集
"WebFetch(api.example.com)"api.example.com およびそのすべてのサブドメインからフェッチ
"mcp__puppeteer"puppeteer MCP サーバーからのすべてのツール

パスパターンのプレフィックス:

プレフィックス意味
//ファイルシステムルートからの絶対パス//etc/passwd
~/ホームディレクトリからの相対パス~/Documents/*.pdf
/プロジェクトルートからの相対パス/src/**/*.ts
./現在の作業ディレクトリからの相対パス./secrets/**
(なし)./ と同じsecrets/**

シェルコマンドのバイパス防止:

ReadEditWebFetch の権限ルールは、エージェントが同等のシェルコマンドを実行する場合にも適用されます。例えば、denyRead(./.env) が含まれている場合、エージェントはシェルコマンドで cat .env を実行してこれをバイパスできません。サポートされるシェルコマンドには catgrepcurlwgetcpmvrmchmod など多数が含まれます。不明または安全なコマンド(例:git)はファイル/ネットワークルールの影響を受けません。

レガシー設定からの移行:

レガシー設定同等の permissions ルール備考
tools.allowedpermissions.allow初回読み込み時に自動移行
tools.excludepermissions.deny初回読み込み時に自動移行
tools.corepermissions.allow(許可リスト)自動移行。リストにないツールはレジストリレベルで無効化されます

設定例:

{ "permissions": { "allow": ["Bash(git *)", "Bash(npm run *)", "Read(//Users/alice/code/**)"], "ask": ["Bash(git push *)", "Edit"], "deny": ["Bash(rm -rf *)", "Read(.env)", "WebFetch(malicious.com)"] } }

[!tip] インタラクティブ CLI で /permissions を使用すると、settings.json を直接編集せずにルールを表示、追加、削除できます。

mcp

設定説明デフォルト
mcp.serverCommandstringMCP サーバーを起動するコマンド。undefined
mcp.allowedarray of strings許可する MCP サーバーの許可リスト。モデルに利用可能にする MCP サーバー名のリストを指定できます。接続する MCP サーバーのセットを制限するために使用できます。--allowed-mcp-server-names が設定されている場合、これは無視されることに注意してください。undefined
mcp.excludedarray of strings除外する MCP サーバーの拒否リスト。mcp.excludedmcp.allowed の両方にリストされているサーバーは除外されます。--allowed-mcp-server-names が設定されている場合、これは無視されることに注意してください。undefined
Note

MCP サーバーに関するセキュリティ上の注意: これらの設定は MCP サーバー名に対する単純な文字列マッチングを使用しており、変更可能です。ユーザーがこれをバイパスするのを防ぎたいシステム管理者の場合は、システム設定レベルで mcpServers を構成し、ユーザーが独自の MCP サーバーを構成できないようにすることを検討してください。これは完全なセキュリティメカニズムとして使用すべきではありません。

lsp

[!warning] 実験的機能: LSP サポートは現在実験的であり、デフォルトで無効です。--experimental-lsp コマンドラインフラグを使用して有効にしてください。

Language Server Protocol (LSP) は、定義へ移動、参照の検索、診断などのコードインテリジェンス機能を提供します。

LSP サーバーの設定は settings.json ではなく、プロジェクトルートディレクトリの .lsp.json ファイルを通じて行います。設定の詳細と例については、LSP ドキュメント を参照してください。

security

設定説明デフォルト
security.folderTrust.enabledbooleanフォルダ信頼が有効かどうかを追跡する設定。false
security.auth.selectedTypestring現在選択されている認証タイプ。undefined
security.auth.enforcedTypestring必須の認証タイプ(企業向けに有用)。undefined
security.auth.useExternalboolean外部認証フローを使用するかどうか。undefined

advanced

設定説明デフォルト
advanced.autoConfigureMemorybooleanNode.js のメモリ制限を自動的に構成します。false
advanced.dnsResolutionOrderstringDNS 解決の順序。undefined
advanced.excludedEnvVarsarray of stringsプロジェクトコンテキストから除外する環境変数。プロジェクトの .env ファイルから読み込まれるべきではない環境変数を指定します。これにより、プロジェクト固有の環境変数(DEBUG=true など)が CLI の動作に干渉するのを防ぎます。.qwen/.env ファイルからの環境変数は除外されません。["DEBUG","DEBUG_MODE"]
advanced.bugCommandobjectバグレポートコマンドの設定。/bug コマンドのデフォルト URL を上書きします。プロパティ:urlTemplate(文字列):{title}{info} プレースホルダーを含むことができる URL。例:"bugCommand": { "urlTemplate": "https://bug.example.com/new?title={title}&info={info}" }undefined
advanced.tavilyApiKeystringTavily ウェブ検索サービスの API キー。web_search ツール機能を有効にするために使用されます。undefined
Note

advanced.tavilyApiKey に関する注意: これはレガシーな設定形式です。Qwen OAuth ユーザーの場合、DashScope プロバイダーは設定なしで自動的に利用可能です。他の認証タイプの場合は、新しい webSearch 設定形式を使用して Tavily または Google プロバイダーを構成してください。

mcpServers

カスタムツールの検出と使用のために、1 つ以上の Model-Context Protocol (MCP) サーバーへの接続を構成します。Qwen Code は、構成された各 MCP サーバーへの接続を試み、利用可能なツールを検出します。複数の MCP サーバーが同じ名前のツールを公開している場合、競合を避けるためにツール名に構成で定義したサーバーエイリアスがプレフィックスとして付与されます(例:serverAlias__actualToolName)。互換性のため、システムが MCP ツール定義から特定のスキーマプロパティを削除する場合があることに注意してください。commandurlhttpUrl の少なくとも 1 つを提供する必要があります。複数が指定されている場合、優先順位は httpUrl、次に url、最後に command の順です。

プロパティ説明オプション
mcpServers.<SERVER_NAME>.commandstring標準入出力経由で MCP サーバーを起動するために実行するコマンド。はい
mcpServers.<SERVER_NAME>.argsarray of stringsコマンドに渡す引数。はい
mcpServers.<SERVER_NAME>.envobjectサーバープロセスに設定する環境変数。はい
mcpServers.<SERVER_NAME>.cwdstringサーバーを起動する作業ディレクトリ。はい
mcpServers.<SERVER_NAME>.urlstring通信に Server-Sent Events (SSE) を使用する MCP サーバーの URL。はい
mcpServers.<SERVER_NAME>.httpUrlstring通信にストリーミング HTTP を使用する MCP サーバーの URL。はい
mcpServers.<SERVER_NAME>.headersobjecturl または httpUrl へのリクエストに送信する HTTP ヘッダーのマップ。はい
mcpServers.<SERVER_NAME>.timeoutnumberこの MCP サーバーへのリクエストのタイムアウト(ミリ秒)。はい
mcpServers.<SERVER_NAME>.trustbooleanこのサーバーを信頼し、すべてのツール呼び出し確認をバイパスします。はい
mcpServers.<SERVER_NAME>.descriptionstringサーバーの簡単な説明。表示目的で使用される場合があります。はい
mcpServers.<SERVER_NAME>.includeToolsarray of stringsこの MCP サーバーから含めるツール名のリスト。指定すると、このサーバーからリストされたツールのみが利用可能になります(許可リスト動作)。指定しない場合、デフォルトでサーバーのすべてのツールが有効になります。はい
mcpServers.<SERVER_NAME>.excludeToolsarray of stringsこの MCP サーバーから除外するツール名のリスト。ここにリストされたツールは、サーバーによって公開されていてもモデルでは利用できません。注意: excludeToolsincludeTools より優先されます — ツールが両方のリストにある場合、除外されます。はい

telemetry

Qwen Code のログ記録とメトリクス収集を構成します。詳細については、テレメトリ を参照してください。

設定説明デフォルト
telemetry.enabledbooleanテレメトリが有効かどうか。
telemetry.targetstring収集されたテレメトリの送信先。サポートされる値は localgcp です。
telemetry.otlpEndpointstringOTLP エクスポーターのエンドポイント。
telemetry.otlpProtocolstringOTLP エクスポーターのプロトコル(grpc または http)。
telemetry.logPromptsbooleanユーザープロンプトの内容をログに含めるかどうか。
telemetry.outfilestringtargetlocal の場合、テレメトリを書き込むファイル。
telemetry.useCollectorboolean外部 OTLP コレクターを使用するかどうか。

settings.json の例

以下は、v0.3.0 で導入されたネスト構造を持つ settings.json ファイルの例です:

{ "general": { "vimMode": true, "preferredEditor": "code" }, "ui": { "theme": "GitHub", "hideTips": false, "customWittyPhrases": [ "You forget a thousand things every day. Make sure this is one of 'em", "Connecting to AGI" ] }, "tools": { "approvalMode": "yolo", "sandbox": "docker", "discoveryCommand": "bin/get_tools", "callCommand": "bin/call_tool", "exclude": ["write_file"] }, "mcpServers": { "mainServer": { "command": "bin/mcp_server.py" }, "anotherServer": { "command": "node", "args": ["mcp_server.js", "--verbose"] } }, "telemetry": { "enabled": true, "target": "local", "otlpEndpoint": "http://localhost:4317", "logPrompts": true }, "privacy": { "usageStatisticsEnabled": true }, "model": { "name": "qwen3-coder-plus", "maxSessionTurns": 10, "enableOpenAILogging": false, "openAILoggingDir": "~/qwen-logs", }, "context": { "fileName": ["CONTEXT.md", "QWEN.md"], "includeDirectories": ["path/to/dir1", "~/path/to/dir2", "../path/to/dir3"], "loadFromIncludeDirectories": true, "fileFiltering": { "respectGitIgnore": false } }, "advanced": { "excludedEnvVars": ["DEBUG", "DEBUG_MODE", "NODE_ENV"] } }

シェル履歴

CLI は実行したシェルコマンドの履歴を保持します。異なるプロジェクト間の競合を避けるため、この履歴はユーザーのホームフォルダ内のプロジェクト固有のディレクトリに保存されます。

  • 場所: ~/.qwen/tmp/<project_hash>/shell_history
    • <project_hash> はプロジェクトのルートパスから生成される一意の識別子です。
    • 履歴は shell_history という名前のファイルに保存されます。

環境変数と .env ファイル

環境変数は、特に機密情報(トークンなど)や環境間で変更される可能性のある設定に対して、アプリケーションを構成する一般的な方法です。

Qwen Code は .env ファイルから環境変数を自動的に読み込むことができます。 認証関連の変数(OPENAI_* など)と推奨される .qwen/.env アプローチについては、認証 を参照してください。

Tip

環境変数の除外: DEBUGDEBUG_MODE などの一部の環境変数は、CLI の動作への干渉を防ぐため、デフォルトでプロジェクトの .env ファイルから自動的に除外されます。.qwen/.env ファイルからの環境変数は除外されません。この動作は settings.jsonadvanced.excludedEnvVars 設定でカスタマイズできます。

環境変数テーブル

変数説明備考
QWEN_TELEMETRY_ENABLEDテレメトリを有効にするには true または 1 に設定します。他の値は無効として扱われます。telemetry.enabled 設定を上書きします。
QWEN_TELEMETRY_TARGETテレメトリのターゲットを設定します(local または gcp)。telemetry.target 設定を上書きします。
QWEN_TELEMETRY_OTLP_ENDPOINTテレメトリの OTLP エンドポイントを設定します。telemetry.otlpEndpoint 設定を上書きします。
QWEN_TELEMETRY_OTLP_PROTOCOLテレメトリの OTLP プロトコルを設定します(grpc または http)。telemetry.otlpProtocol 設定を上書きします。
QWEN_TELEMETRY_LOG_PROMPTSユーザープロンプトのログ記録を有効または無効にするには true または 1 に設定します。他の値は無効として扱われます。telemetry.logPrompts 設定を上書きします。
QWEN_TELEMETRY_OUTFILEターゲットが local の場合、テレメトリを書き込むファイルパスを設定します。telemetry.outfile 設定を上書きします。
QWEN_TELEMETRY_USE_COLLECTOR外部 OTLP コレクターの使用を有効または無効にするには true または 1 に設定します。他の値は無効として扱われます。telemetry.useCollector 設定を上書きします。
QWEN_SANDBOXsettings.jsonsandbox 設定の代替。truefalsedockerpodman、またはカスタムコマンド文字列を受け入れます。
SEATBELT_PROFILE(macOS 固有) macOS 上の Seatbelt (sandbox-exec) プロファイルを切り替えます。permissive-open: (デフォルト) プロジェクトフォルダ(およびその他のいくつかのフォルダ、packages/cli/src/utils/sandbox-macos-permissive-open.sb を参照)への書き込みを制限しますが、他の操作は許可します。strict: デフォルトで操作を拒否する厳格なプロファイルを使用します。<profile_name>: カスタムプロファイルを使用します。カスタムプロファイルを定義するには、プロジェクトの .qwen/ ディレクトリに sandbox-macos-<profile_name>.sb という名前のファイルを作成します(例:my-project/.qwen/sandbox-macos-custom.sb)。
DEBUG または DEBUG_MODE(基盤となるライブラリや CLI 自体でよく使用されます) 詳細なデバッグログを有効にするには true または 1 に設定します。トラブルシューティングに役立ちます。注意: これらの変数は、CLI の動作への干渉を防ぐため、デフォルトでプロジェクトの .env ファイルから自動的に除外されます。Qwen Code 専用に設定する必要がある場合は .qwen/.env ファイルを使用してください。
NO_COLOR任意の値に設定すると、CLI のすべてのカラー出力が無効になります。
CLI_TITLECLI のタイトルをカスタマイズするには文字列に設定します。
CODE_ASSIST_ENDPOINTコードアシストサーバーのエンドポイントを指定します。開発およびテストに役立ちます。
QWEN_CODE_MAX_OUTPUT_TOKENSレスポンスごとのデフォルトの最大出力トークンを上書きします。設定しない場合、Qwen Code は適応型戦略を使用します:8K トークンから開始し、応答が切り捨てられた場合は自動的に 64K で再試行します。固定制限を使用するには、特定の値(例:16000)に設定します。設定されたデフォルト(8K)より優先されますが、設定の samplingParams.max_tokens によって上書きされます。設定すると自動エスカレーションが無効になります。例:export QWEN_CODE_MAX_OUTPUT_TOKENS=16000
TAVILY_API_KEYTavily ウェブ検索サービスの API キー。web_search ツール機能を有効にするために使用されます。例:export TAVILY_API_KEY="tvly-your-api-key-here"

コマンドライン引数

CLI 実行時に直接渡される引数は、その特定のセッションに対して他の設定を上書きできます。

コマンドライン引数テーブル

引数エイリアス説明可能な値備考
--model-mこのセッションに使用する Qwen モデルを指定します。モデル名例:npm start -- --model qwen3-coder-plus
--prompt-pコマンドに直接プロンプトを渡すために使用されます。Qwen Code を非インタラクティブモードで起動します。プロンプトテキストスクリプトの例については、構造化出力を取得するために --output-format json フラグを使用してください。
--prompt-interactive-i提供されたプロンプトを初期入力として使用してインタラクティブセッションを開始します。プロンプトテキストプロンプトはセッション開始前ではなく、インタラクティブセッション内で処理されます。stdin からパイプ入力する場合は使用できません。例:qwen -i "explain this code"
--system-promptこの実行に対して、組み込みのメインセッションシステムプロンプトを上書きします。プロンプトテキストQWEN.md などの読み込まれたコンテキストファイルは、この上書きの後に引き続き追加されます。--append-system-prompt と組み合わせることができます。
--append-system-promptこの実行に対して、メインセッションシステムプロンプトに追加の指示を付加します。プロンプトテキスト組み込みプロンプトと読み込まれたコンテキストファイルの後に適用されます。--system-prompt と組み合わせることができます。例については ヘッドレスモード を参照してください。
--output-format-o非インタラクティブモードの CLI 出力形式を指定します。text, json, stream-jsontext: (デフォルト) 標準の人間が読める出力。json: 実行終了時に出力される機械可読な JSON 出力。stream-json: 実行中に発生するストリーミング JSON メッセージ。構造化出力とスクリプトには、--output-format json または --output-format stream-json フラグを使用してください。詳細については ヘッドレスモード を参照してください。
--input-format標準入力から消費される形式を指定します。text, stream-jsontext: (デフォルト) stdin またはコマンドライン引数からの標準テキスト入力。stream-json: 双方向通信のための stdin 経由の JSON メッセージプロトコル。要件:--input-format stream-json には --output-format stream-json の設定が必要です。stream-json を使用する場合、stdin はプロトコルメッセージ用に予約されます。詳細については ヘッドレスモード を参照してください。
--include-partial-messagesstream-json 出力形式を使用する際に、部分的なアシスタントメッセージを含めます。有効にすると、ストリーミング中に発生するストリームイベント(message_start、content_block_delta など)を出力します。デフォルト:false。要件:--output-format stream-json の設定が必要です。ストリームイベントの詳細については ヘッドレスモード を参照してください。
--sandbox-sこのセッションのサンドボックスモードを有効にします。
--sandbox-imageサンドボックスイメージの URI を設定します。
--debug-dこのセッションのデバッグモードを有効にし、より詳細な出力を提供します。
--all-files-a設定されている場合、現在のディレクトリ内のすべてのファイルを再帰的にプロンプトのコンテキストとして含めます。
--help-hコマンドライン引数に関するヘルプ情報を表示します。
--show-memory-usage現在のメモリ使用量を表示します。
--yoloすべてのツール呼び出しを自動的に承認する YOLO モードを有効にします。
--approval-modeツール呼び出しの承認モードを設定します。plan, default, auto-edit, yoloサポートされるモード:plan: 分析のみ—ファイルの変更やコマンドの実行
Last updated on