『--force』は、もう黙って通らない──Claude Code v2.1.229が、コミットからPRまで任せる自動化に残した最後の確認
Claude Code v2.1.229 が、/commit-push-pr で生成する git 操作のうち --force・--amend・--no-verify などの破壊的フラグを自動承認から外しました。無人運用の歯止めとワークフローのコスト最適化も併せて解説します。
「コミットして、プッシュして、PRまで」を一言で頼む便利さ
Claude Code の /commit-push-pr は、変更のステージからコミット、リモートへのプッシュ、プルリクエストの作成までを一つのコマンドにまとめた機能です。人はゴールだけを伝え、途中の git 操作はエージェントが組み立てて実行します。
手を離せるほど便利ですが、git には一度動かすと取り返しのつかない操作もあります。8月12日に公開された v2.1.229 は、その境界に一本の線を引きました。
危険なフラグだけ、自動承認の輪から外れた
これまで /commit-push-pr は、生成した git/gh コマンドを基本的に自動で承認して走らせていました。v2.1.229 では、破壊的なフラグが付いたコマンドを自動承認の対象から外し、実行前に人の確認を挟むように変わりました。対象になるのは次のようなフラグです。
- --force: リモートの履歴を上書きする。他人の作業を巻き戻す事故につながる。
- --amend: 直前のコミットを作り直す。共有済みの履歴を書き換えると衝突を招く。
- --no-verify: コミット前のフックを飛ばす。テストや静的検査の関門を素通りさせる。
いずれも「速く進める」ための近道ですが、無人で走らせると被害が静かに広がりやすい操作です。既定を「まず止めて確認」に寄せた変更といえます。
無人で回すほど効く、ほかの歯止め
同じ版には、自動運用の取りこぼしを塞ぐ修正も並びました。派手さはありませんが、任せきりの現場ほど効きます。
- サンドボックスの許可リスト: ネットワーク許可リスト内の IPv6 表記を厳密に扱い、あいまいな綴りは通さず(fail-closed)、
/doctorが警告するようにした。 - 自前サーバーでの実行: self-hosted runner が認証情報の入力待ちで固まらず、資格情報が無ければ即座に失敗するようにした。
- MCP サーバーの配布: 管理設定でサーバーが配られた際に起動直後に落ちていた不具合を直し、該当分は警告して読み飛ばすようにした。
「黙って固まる」「気づかず通る」を起動時や実行前に落とす方向で、無人運用の信頼性を底上げしています。
多数のエージェントを同時に回すコストへ、静かな最適化
ワークフローで多数のサブエージェントを一斉に立てる使い方にも手が入りました。同じ前置き(プロンプトの共通部分)を持つ兄弟エージェントの起動をずらし、後続がキャッシュ済みの前置きを読み直さずに済むようにしています。
あわせて、CPU 制限のあるコンテナ内で動的ワークフローがホスト側のコア数を見てしまう不具合も修正されました。CI やコンテナで回すほど、トークン代と並列度の見積もりが実態に近づきます。
導入する側にとっての意味
ここ数版の Claude Code は、権限とサンドボックスの既定を継続的に締める方向で動いてきました。v2.1.229 もその延長にあり、無人運用を前提にした「危ない操作は既定で止める」設計が一歩進んだ格好です。
自前でガードレールを組んでいたチームは、既定に寄せられる範囲が広がります。一方で、利便性の裏では自動化そのものは走り続ける点に留意が必要です。危険フラグの確認が増えることで運用の手数が増える場面もあり、こうした修正で「安全になった」と過信せず、実行ログや承認の記録を残す運用は引き続き求められる、という指摘もできます。
参照: Claude Code changelog(公式ドキュメント) / anthropics/claude-code CHANGELOG.md / Releasebot: Claude Code updates