本文へ移動

AI Buildersのための最新のニュース、知見、事例を毎日お届け

運営会社
コーディングエージェントAnthropic

Claude Codeに「Code Mode」 ツールをコードで束ね、権限の穴も修正

Claude Code 2.1.323は11月13日に公開され、Claudeが書いたJavaScriptでツールをまとめて呼ぶ試験機能「Code Mode」が入った。環境変数で有効にするもので、同じ版ではBashの権限の判定の穴など150件を超える修正も入った。

記事の内容を自社でどう進めるか、内容が固まっていない段階でも相談できます。仕事の相談

毎週 1 回、その週の記事から 5 本と実践の 1 本を選んでメールで届けます。ニュースレターを購読する(無料)

紙の切り絵風の絵。ふたの開いた赤い工具箱の中に、紺色の古いレンチやペンチが入り、ドライバーが1本だけ黄色く光っている。左右に黄色と紺色の葉の飾りがあり、背景は薄い灰色の紙。
Created with Grok

米Anthropicのコーディングエージェント「Claude Code」は、11月13日に2.1.323を公開し、Claudeが自分でJavaScriptを書いてツールを呼ぶ試験機能「Code Mode」を加えた。更新履歴は、これを「実験的でオプトイン」の機能と書いている。環境変数を1つ設定した端末の対話セッションだけで動き、-pやSDKでは使えない。同じ版では、Bashの権限の判定が抜ける不具合を含む150件を超える修正も入った。

環境変数1つで試せる

公式ドキュメントによると、Code Modeは標準では無効で、将来の版で変わるか、なくなる可能性がある。通常のClaude Codeでは、ClaudeがBashやReadなどの呼び出しを1回ずつ出し、結果を読んでから次を決める。Code Modeでは、Claudeが複数の呼び出しを含むJavaScriptを1本書き、Claude Codeがそれをセッション内で動かす。並列に走らせる、前の結果を次に渡す、必要な出力だけをClaudeに返す、といった処理を1回にまとめられる。

使うには、CLAUDE_CODE_EXPERIMENTAL_CODE_MODEを1にしてclaudeを起動する。ユーザー設定の~/.claude/settings.jsonのenvに書けば、新しいセッションすべてで有効になる。リポジトリ内の設定ファイルに書いた値は無視されるので、クローンしたリポジトリが勝手にCode Modeを有効にすることはない。最初のセッションでは確認の画面が出る。画面に出るのはツール呼び出しの結果で、コードそのものはCtrl+Oの転写ビューで読む。

ドキュメントが向くとする作業は、多くのファイルに同じ変更を繰り返す、検索結果を絞ってからClaudeに読ませる、独立した複数のコマンドを同時に走らせる、の3つだ。

使える環境は限られる

条件は多い。Claude Codeは2.1.323以降で、Claudeのサブスクリプションか、Consoleのアカウントが要る。ゲートウェイやAmazon Bedrock、Google Cloud、Microsoft Foundry経由では使えず、HIPAA構成やゼロデータ保持の組織も対象外だ。モデルはOpus 5.5、Sonnet 5.5、Haiku 5.5、Fable 5.2で、ネイティブ版のインストールが前提になる。

動く場所も、端末の対話セッションだけだ。-p、Agent SDK、VS Codeのパネル、Desktopアプリ、クラウドのセッションでは動かない。セッションはCode Modeを有効にした端末でしか再開できず、Desktopへの移動やバックグラウンド化もできない。待ちで走るコードは10分で止まり、バックグラウンドで走らせる時は上限が2時間で、autoかbypassPermissionsで始める必要がある。

組織が止めたい時は、管理設定のenvに同じ変数を0で入れる。管理設定から全員に有効にすることはできない。

権限は呼び出しごとに判定される

Code Modeの中でも、ツール呼び出しはdenyとaskの権限ルールと、PreToolUseフックを通る。ルールやマッチャーを書き直す必要はない。auto modeでは、分類器が呼び出しごとではなく、コードを実行する前にまとめて確認する。分類器は検索結果から取った実行時のパスのような値を見られないので、止めたい呼び出しにはルールかフックを残すよう、ドキュメントは求めている。コード自体を検査するなら、実行ツールのREPLに当てるPreToolUseフックでtool_input.codeを読む。

同じ2.1.323では、権限まわりの修正が目立つ。Bash(ls*)のように語尾にワイルドカードを付けたallowルールが、確認なしで実行される場合があった。変数名を含むBash(NODE_ENV*)のようなルールは、今後は確認を出す。bypass権限やBashのallowルールの下で、別のフォルダからrmを判定して危険な削除の確認を飛ばす不具合も直った。auto modeが使えない時に、より緩い権限モードで始まる不具合は、今後は確認を出すManualモードで始まる。ほかに、Bashのサンドボックスがセッション中に切れる場合の修正や、sudoやenvを通したコマンドをdenyとaskのルールが見落とす不具合の修正も入った。

編集部の見方

編集部は、今回の版で多くの読者に先に効くのは、Code Modeよりも権限の修正だと見る。Code Modeは対話の端末と特定のモデルに限られ、-pで回すCIやSDKの運用では試せない。一方、Bash(ls*)のようなワイルドカードのallowルールを入れているなら、claude updateで2.1.323にするだけで確認の抜けが減る。試すなら、権限を厳しくした一時のプロジェクトで、ファイルが多い作業を1つ任せ、Ctrl+Oで書かれたコードを読むところから始めたい。ただしCode Modeは予告なく変わり得る機能で、自動化の本番にはまだ組み込めない。

出典

に確認(日本時間)

  1. 2.1.323(npmjs.com)
  2. 更新履歴(github.com)
  3. 公式ドキュメント(code.claude.com)

この記事をシェア

この記事は役に立ちましたか