/commit-push-prってどんなコマンド?
/commit-push-prは、Claude Codeでコミットを作って、リモートにpushして、プルリクエストまで作ってくれる、いわば「一連の作業をまとめて任せられる」スラッシュコマンドです。手動でやるとgit add、git commit、git push、gh pr createと何段階も打つ必要がある作業を、ひとつの指示で済ませられるのが便利なところです。
ただ、この「まとめてやってくれる」便利さの裏には、当然ながらgitやghのコマンドをClaude Codeが自動で実行しているという事実があります。普段は特に問題にならないのですが、中には「実行される前に一度立ち止まって確認したい」操作も混ざっています。
今回の変更点
v2.1.229では、/commit-push-prが実行するgit/ghコマンドのうち、危険なフラグが付いているものについては、自動承認されなくなりました。具体的には次のようなフラグが対象です。
--force(強制的にリモートの履歴を上書きするpush)--amend(直前のコミットを書き換える)--no-verify(commitやpush時のフック検証をスキップする)
これらはどれも、普通のコミット・push・PR作成とは違って「取り返しがつきにくい」操作です。--forceで誤って他の人の変更を消してしまったり、--no-verifyでCIやlintのチェックを素通りさせてしまったり、といったことが実際に起こり得ます。
なぜこの変更が必要だったのか
Claude Codeには、ファイル編集やコマンド実行の前にユーザーへ確認を求める「パーミッションプロンプト」という仕組みがあります。ですが/commit-push-prのような一連の定型作業をまとめて任せるコマンドでは、細かい確認を都度挟まず自動で進めることを前提に設計されている面があります。
つまり以前は、/commit-push-prが実行するコマンドの中に--forceのような危険フラグが混じっていても、他の通常操作と同じように自動承認されてしまう可能性があった、ということです。今回の変更は、そこに例外を設けて「危険なフラグが付いている場合だけは、自動で通さずに確認を挟む」ようにしたものです。
使う側にとって何が変わるか
普段通りに/commit-push-prを使っている分には、特に何かが不便になるわけではありません。変わるのは、コミット履歴を書き換えるような操作や、強制pushが必要になる場面に限られます。そうした場面では、Claude Codeが実行前に一度確認を求めてくるようになるので、「気づかないうちに強制pushされていた」といった事故を防ぎやすくなります。
安全性と自動化の便利さは、どちらも大事にしたいものの、時々トレードオフになります。今回のアップデートは、日常的な操作の自動化はそのままに、取り返しのつきにくい操作だけピンポイントで人の目を挟む、というバランスの取り方だと理解しておくとよいでしょう。
このページは役に立ちましたか?