--no-chrome(ノークローム)

起動オプション
--no-chrome
ノークローム
Claude Codeの起動時に付ける指定の1つ。これを付けて起動すると、そのセッションに限って Chrome ブラウザとの連携機能(Claude が自分でブラウザを操作してWebサイトを開いたり、フォームを入力したり、コンソールログを読んだりする機能)がオフになる。普段 <code>/chrome</code> で「Enabled by default」を選んでいる人が、特定のセッションだけ一時的に Chrome 連携を切るための逃げ道として使う指定。設定本体は書き換えないので、次回普通に起動すれば連携は自動で復活する。

/chrome で「Enabled by default」にしているけど、今回のセッションだけ Chrome 連携を切ってコンテキスト消費を抑えたい人向け

<code>/chrome</code> で「Enabled by default」を選んでいる人が、今日のセッションでは Chrome 連携を使わないと分かっていて、その分の会話メモリ(Claude Codeが1セッションで覚えていられる情報量の上限)を本来の作業に回したいときに <code>claude --no-chrome</code> の形で起動する。CSS修正だけのセッション、巨大ログを読ませる純テキスト処理セッション、デモ動画の収録など、ブラウザ連携が確実に不要だと分かっている場面で叩く。

Claude Codeの起動時に付ける指定の1つで、Chrome ブラウザとの連携機能を「このセッションに限って」オフにします。普段は /chrome から「Enabled by default」を選んでおくと、毎回 Chrome 連携が自動でオンになるけれど、それを「今回だけ切りたい」というときに claude --no-chrome で起動すると、そのセッションだけ Chrome 連携が外れます。

使い道は地味で、CSSを少し直すだけのセッションみたいに Chrome を使わないと分かっている作業のときに、会話メモリの空きを増やす目的で渡します。

噛み砕くと

「家のリビングに常時電源ONの大型テレビを置いてある状態」を想像してください。/chrome で「Enabled by default」を選ぶというのは、Claude Code を起動するたびに毎回テレビの電源が入る設定を組んでおく行為に近いです。便利な反面、見ない日でも電気を食います。

--no-chrome は、その「今日はテレビ使わないからコンセント抜いとくね」を、起動時の1コマンドだけで済ませる指定です。家中の設定を書き換えず、その日のセッションに限って Chrome 連携の電源を落とすイメージ。

明日また普通に claude と打てば、「Enabled by default」の設定はそのまま生きていて、Chrome 連携が復活します。一時的な opt-out。

大事な前提:この指定が意味を持つのは「Chrome連携をデフォルトオン」にしている人だけ

--no-chrome は、すでに /chrome で「Enabled by default」を選んでいるユーザーのための逃げ道です。一度も Chrome 連携をデフォルト有効化していない人がこの指定を渡しても、もともと無効なものを無効化するだけなので、何も変わりません。

もう1つ前提として、Chrome 連携機能そのものが Pro / Max / Team / Enterprise の Anthropic 直契約プラン限定です。Bedrock や Vertex AI 経由で Claude Code を使っている環境では、そもそも Chrome 連携が動かないので、--no-chrome を渡す状況自体が発生しません。

「家計簿アプリのCSS修正だけしたい」を例に、実際の手順を見る

普段は /chrome で「Enabled by default」を選んでいて、家計簿アプリの開発中にいつも Claude Code から Chrome 経由で動作確認している状態を想定します。ところが今日は、見た目を整える細かい CSS 修正だけのつもりなので、Chrome 連携は不要。会話メモリを節約したいです。

ステップ1: 普段の状態を確認する

まず、自分が「Enabled by default」を選んでいる状態かどうかを確認します。家計簿アプリのフォルダに移動して、普通に Claude Code を起動します。

$ cd ~/projects/kakeibo-app
$ claude

起動したら /chrome と打って状況を見ます。「Enabled by default」にチェックが入っていれば、毎回 Chrome 連携がオンになる設定です。

ステップ2: 一度終了する

Chrome 連携を切るのは「起動時の指定」なので、走っているセッションを一度終了する必要があります。/exit で抜けます。

> /exit

ステップ3: 今度は --no-chrome 付きで起動する

今日のセッションに限って Chrome 連携をオフにしたいので、起動コマンドの後ろに --no-chrome を書き足します。

$ claude --no-chrome

これで起動したセッションは、Chrome 連携機能が読み込まれていない状態になります。

ステップ4: 会話メモリが空いたか確認する

セッション内で /context と打つと、現在の会話メモリの使用状況が見えます。普段の起動と比べると、ブラウザ関連のツール定義がごっそり載っていない分、初期の使用量が軽くなっているはずです。

ここで初心者がやりがちな勘違いがあります。「--no-chrome を付けると Chrome ブラウザ自体が起動しなくなる」と思いがちですが、違います。これはあくまで Claude Code から Chrome を操作する機能をオフにする指定で、Chrome アプリそのものは普通に使えます。CSS修正の確認のために自分の手で Chrome を開いて家計簿アプリを表示する、というのは何の問題もなくできます。

ステップ5: CSS修正作業を進める

あとは普段通り、Claude Code に「ヘッダーの背景色を変えたい」「カードコンポーネントの角丸を少し大きく」みたいな指示を投げて、ファイルを書き換えてもらいます。Chrome 連携は切ってあるので、Claude 側から「ブラウザで開いて確認しますか?」みたいな提案は来ません。確認は自分の手で Chrome をリロードして見ます。

ステップ6: 次の作業で Chrome 連携が必要になったら、普通に起動し直す

CSS修正が終わって、明日は「動作確認も Claude にやらせたい」というセッションに戻りたい場合は、何もしなくて大丈夫です。/exit で抜けて、次回普通に claude と打てば、「Enabled by default」の設定はそのまま生きているので、Chrome 連携が自動でオンに戻ります。

--no-chrome は設定そのものを書き換えていません。「このセッションだけ」の効果。

つまり --no-chrome は何をしてくれるのか

  • やってくれる: そのセッションに限って、Claude Code から Chrome を操作する機能をオフにする。会話メモリにブラウザ用のツール定義が積まれなくなる
  • やってくれる: 設定本体は触らないので、次回普通に起動すれば「Enabled by default」が復活する
  • やってくれない: Chrome アプリ自体の起動制御。Chrome ブラウザは自分の手で普通に開ける
  • やってくれない: 過去のセッションで Chrome 経由でやった操作の履歴を消す
  • 意味が薄い場面: そもそも /chrome で「Enabled by default」を選んでいない人。普段から「使うときだけ --chrome を付ける」運用なら、この指定は不要

使いどころ3シナリオ

シナリオ1: 家計簿アプリの細かいCSS修正を、Chrome連携なしで進めたいとき

普段 /chrome で「Enabled by default」にしている開発者が、今日は見た目調整だけのつもりで Chrome 連携を読み込みたくない場面。claude --no-chrome で起動すれば、ブラウザ関連のツール定義が会話メモリに乗らないので、長めの CSS ファイルや Tailwind の設定ファイルを読ませても、メモリ圧迫が起きにくくなります。

シナリオ2: 巨大なログファイルを Claude に読ませて要約させたいとき

本番環境の access.log を 1万行単位で読ませてエラー傾向を分析させるような、純粋にテキスト処理に振り切ったセッション。Chrome 連携は使う予定がないので、会話メモリは1バイトでも多く本来の作業に回したいです。起動時に --no-chrome を渡すだけで、ブラウザ用のツール定義が削れて、その分ログ内容に使えるメモリが増えます。

シナリオ3: 動画にセッション画面を録画する、デモ収録のとき

Claude Code の使い方を動画で紹介する場面で、画面に「Chrome 連携が裏で動いている」みたいなノイズを出したくないとき。Chrome 連携がオンだと、初期のシステムメッセージにブラウザ関連の情報が含まれることがあるので、収録中だけ --no-chrome で起動して、画面表示をシンプルに保つ用途で使えます。録画が終わって普通に開発に戻れば、次の起動から Chrome 連携も普通に復活します。

初心者が踏みやすい落とし穴

  • 「Chrome アプリの起動を止める」指定ではない。あくまで Claude Code 側の連携機能をオフにするだけで、Chrome ブラウザそのものは普通に動かせる。混同するとデバッグ中に「ブラウザが開けない!」と勘違いする
  • そもそも「Enabled by default」を選んでいない人には効かない。Chrome 連携を毎回手動で --chrome 付きで有効化している運用なら、何もしなくても最初からオフ状態。--no-chrome を付けても何も変わらない
  • Chrome 連携を使うには Pro / Max / Team / Enterprise の直契約が必要。Bedrock や Vertex AI 経由で Claude Code を使っている環境では、Chrome 連携自体が動かないので、この指定を渡す状況自体が起きない
  • 公式の Chrome ガイドに --no-chrome の名前が出てこない。Chrome 機能を解説しているページは /chrome で「無効化する」方法しか書いていない。--no-chrome の唯一の説明は CLI リファレンス側の表に1行だけある
  • VS Code 拡張版での挙動は公式に明記なし。VS Code 拡張では Chrome 連携が拡張機能の有無で自動的に判定されているため、--no-chrome を渡してもどう振る舞うかは公式ドキュメントに記載がない。VS Code 環境で確実にオフにしたいなら、Chrome 拡張機能側を無効化する方が確実
  • 同時に --chrome を渡したときの挙動は公式未記載claude --chrome --no-chrome のように両方つけた場合の優先順位は書かれていない。どちらか片方だけを使う前提で運用する
  • 過去セッションの Chrome 操作履歴は消えない。今回だけ連携を切っても、以前に Chrome 連携でやり取りした内容が /resume 等から復元できる状態は変わらない

書き方

claude --no-chrome

やってみるとこうなる

入力

claude --no-chrome

出力例

そのセッションだけ Chrome 連携機能がオフになった状態で起動する。/context で会話メモリの使用状況を見ると、ブラウザ関連のツール定義が読み込まれていない分、初期の使用量が軽くなっている。次回 claude と普通に打てば「Enabled by default」設定が生きているので Chrome 連携が自動で復活する。

このページに出てきた言葉

セッション
<code>claude</code> と打って起動してから終了するまでの1回の会話のかたまり。次回起動すれば別のセッションになる
会話メモリ
Claude Code が1セッションで覚えていられる情報量の上限。読み込んだファイル、過去のやり取り、ツールの定義などがここに積み上がる。満杯に近づくと挙動が遅くなったり古い情報を忘れたりする
Chrome 連携
Claude Code から Chrome ブラウザを操作する機能。Claude が自分でWebサイトを開いたり、フォームを入力したり、コンソールログを読んだりできるようになる
opt-out
「デフォルトでオン、必要に応じてオフにする」方式。逆は opt-in(デフォルトでオフ、必要なときだけオンにする)
/chrome
セッション中に打つコマンド。Chrome 連携の設定画面を開いて「毎回オンにする」「今だけオンにする」「切断する」などを切り替える
/context
セッション中に打つコマンド。会話メモリがどれくらい埋まっているか、何がメモリを食っているかを表示する
/exit
セッションを終了するコマンド
Pro / Max / Team / Enterprise
Anthropic と直接契約する有料プランの種類。Chrome 連携機能はこの4プラン限定で、AWS Bedrock や Google Vertex AI 経由の利用では使えない
Bedrock / Vertex AI
AWS(Amazon)と Google Cloud が提供している、Claude などのAIモデルを企業向けに転売しているサービス
VS Code 拡張
VS Code の中で Claude Code を動かすための拡張機能。CLI版とは別経路で Chrome 連携を判定する

関連項目

公式ドキュメント

https://code.claude.com/docs/en/cli-reference

-

← 戻る