CLAUDE LABEN
APPLY — ant CLI v1.30.0 に ant apply が入りました。エージェント・環境・スキル・メモリストア・デプロイメントを、リポジトリのファイルから作成・更新できますLOCKFILE — 書き出される claude-lock.json は必ずコミットしてください。忘れると、実行のたびに同じリソースが新しく作られていきますPLAN — ant apply は適用の前に計画を表示し、承認を挟みます。CI で無人実行するなら、この承認をどう扱うかを先に決めておくことですPRICING — Claude Sonnet 5 の 3 ドル / 15 ドルへの値上げは実施されていません。導入価格の 2 ドル / 10 ドルがそのまま標準価格になりましたSOURCE — 価格と版番号は二次ニュースに誤りが混じります。platform.claude.com のリリースノートで裏を取ってから書くようにしていますBETA — Agent Skills と Skills API はベータを抜け、skills-2025-10-02 ヘッダが不要になりました。Files API はヘッダの有無でレスポンス形式が変わる点に注意ですAPPLY — ant CLI v1.30.0 に ant apply が入りました。エージェント・環境・スキル・メモリストア・デプロイメントを、リポジトリのファイルから作成・更新できますLOCKFILE — 書き出される claude-lock.json は必ずコミットしてください。忘れると、実行のたびに同じリソースが新しく作られていきますPLAN — ant apply は適用の前に計画を表示し、承認を挟みます。CI で無人実行するなら、この承認をどう扱うかを先に決めておくことですPRICING — Claude Sonnet 5 の 3 ドル / 15 ドルへの値上げは実施されていません。導入価格の 2 ドル / 10 ドルがそのまま標準価格になりましたSOURCE — 価格と版番号は二次ニュースに誤りが混じります。platform.claude.com のリリースノートで裏を取ってから書くようにしていますBETA — Agent Skills と Skills API はベータを抜け、skills-2025-10-02 ヘッダが不要になりました。Files API はヘッダの有無でレスポンス形式が変わる点に注意です
記事一覧/Claude Code
Claude Code/2026-07-18上級

プランモードを「読むだけ」と信じていた — 前提を機構で確かめ直す

Claude Code 2.1.212 で、プランモードがファイルを変更する Bash を許可プロンプトも canUseTool も通さず実行していた不具合が修正されました。前提が崩れていた期間に何が起きうるのか、手元で確かめる方法と、モード名に安全性を預けない設計をまとめます。

Claude Code250パーミッション3プランモード自動運用17セキュリティ20

プレミアム記事

CHANGELOG の1行で手が止まりました。

「プランモードが touchrm といったファイルを変更する Bash コマンドを、許可プロンプトも SDK の canUseTool コールバックも通さずに実行してしまう不具合を修正」。

私は夜間に回している調査系のジョブで、プランモードを「読むだけのモード」と見なしていました。だから deny ルールを緩め、canUseTool のログも眺める程度に留めていたのです。守られていると思っていた場所が、実は素通りだった。そう気づいたときの、背筋のあたりが少し冷える感じを、うまく言葉にできませんでした。

幸い、私の環境で実害は見つかりませんでした。けれど「見つからなかった」と「起きなかった」は違います。この記事は、その差を埋めるために手を動かした記録です。

何が素通りしていたのか

まず事実を整理します。2026-07-18 に公開された Claude Code 2.1.212 で修正されたのは、次の経路です。

経路 修正前の挙動 修正後の挙動
対話セッションの許可プロンプト プランモード中のファイル変更 Bash で表示されない 通常どおり確認を求める
SDK の canUseTool コールバック 呼ばれずに実行される 他のツール呼び出しと同じく通過する
settings の deny ルール 評価される(この経路は無事) 変わらず評価される

重要なのは3行目です。deny ルールは効いていました。つまり、機構として明示的に書かれた禁止は守られ、モードの性質に暗黙で期待していた部分だけが崩れていたことになります。

この非対称は、示唆的だと感じています。私が緩めていたのは、まさに「モードが読み取り専用だから、ルールは要らないだろう」と判断した箇所でした。前提に寄りかかった分だけ、穴が空いていたわけです。

「読み取り専用」とは、どこにも書かれていなかった

事後に自分の思い込みの出どころを辿ってみました。

公式ドキュメントでプランモードは、実装に入る前に計画を立てるためのモードとして説明されています。読んでいて自然に浮かぶのは「調査と提案をするモード」という像です。実際、体感としても書き込みはほとんど起きません。

けれど「ファイルを変更するツールが機構として遮断される」とは、どこにも書かれていませんでした。私は体感を仕様として読み替えていたのです。

ここが一番の学びでした。モード名が示すのは意図であって、保証ではありません。意図に沿って動くことがほとんどだからこそ、保証だと錯覚しやすい。錯覚したまま防御を外すと、例外が起きた1回目に全部通ります。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
プランモードで書き込みが素通りしていた境界を、手元の1コマンドで再現・確認する検証ハーネス
「モードが守ってくれる」前提を deny ルールと canUseTool の二重防御に置き換える具体的な設定
自分の設定から「暗黙の前提」を洗い出す5ステップの監査手順とチェック観点
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude Code2026-07-17
承認したのは、私が読んだ文字列ではなかった — 確認プロンプトの中継を細工文字で検証する
チャットへ中継した確認プロンプトに双方向上書き文字やゼロ幅文字を混ぜて通す実験をしました。NFKC正規化では検知率が0%だった理由、日本語コミットメッセージを止めてしまった素朴な規則の失敗、見せる文字列と照合する文字列を分けて細工を全件止める実装までを記録します。
Claude Code2026-09-05
拒否ルールが見ていたのはファイル名で、そこへ届く経路ではありませんでした
deny に書いた 1 行が、同じファイルへ届く別の書き方を素通りさせていました。経路を機械的に並べて、版を上げた日に効きを確かめる小さな検査表の作り方をお伝えします。
Claude Code2026-08-21
Claude Code の read deny が許可フォルダの内側まで届いていなかった話
秘密ファイルとソースが同じツリーに同居する個人開発環境で、permissions.deny の Read ルールが実際にどのファイルまで届いているかを数え直した記録です。棚卸し用のスクリプトつき。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます