Claude Codeの許可設定|名指しで足すと翌日また止まる

朝いちで、Claude Codeに任せとる作業が止まっとった。原因は許可の設定。前の日に同じ止まり方をしたばっかりで、そこはもう直したはずやった。

許可リストは、止まったファイルを1本ずつ名指しで足しても、次に別のファイルを触った瞬間また止まります。名指しは名指ししたものにしか効かんから。人が画面を見とる時は押せば済むけど、無人で走らせる予定があるなら、最初からフォルダ単位(末尾に **)で書いとくほうが早いです。

前にWindows自動化で黙って壊れる罠3つという記事を書きました。あっちは「エラーも出さずに間違う」話。今回は逆です。ちゃんと止まってくれるのに、何回直しても同じところで止まる話。

名指しで許可を足した翌日、また同じところで止まった

Claude Codeには「この操作は毎回確認せんでええ」を登録しておく許可リストがあります。設定ファイルの中の allow ってところ。ここに書いてある操作は確認なしで通る。書いてない操作は画面に確認が出て、人が押すまで待つ。

普段はこれで困りません。問題は人が画面を見てへん時です。決まった時刻に自動で走る作業を組んどると、確認待ちのまま固まって、誰も押さんまま朝が来る。

で、実際に止まりました。止まったファイルを1本、許可リストに名指しで足した。その翌日、同じフォルダの別のファイルで、まったく同じ止まり方をした。

当たり前です。名指しは名指ししたものにしか効かん。頭では分かっとるのに、目の前で止まっとるファイル名をそのまま貼るのが一番早く見えてまう。しかもその場では直った気になれるのが厄介なところ。

自分の許可リストを数えたら113本あった

許可設定を1ファイルずつ10行書いた画面と、フォルダ末尾にアスタリスク2個を付けて1行でまとめた設定の比較図
1本ずつ足すか、まとめて1行で済ませるかの違い

今日あらためて数えました。うちの設定ファイルの allow に並んどる行が113本

中を見ると、同じフォルダの話が固まって並んどるところがあります。フォルダそのものが1本、そのフォルダの中のファイルが9本。合わせて10本、全部が同じフォルダの中身でした。

そしてそのちょっと下に、あとから足したらしい1行がある。同じフォルダのパスの末尾に **(この下は全部、という意味)を付けたやつ。操作の種類は上の10本と同じ(書き込み)。場所もこのフォルダの中。つまり、あとから足したこの1本が、名指ししたファイル9本を丸ごと含んどる形です。残りの1本はフォルダそのものを指した行なので、ここでは数に入れてません。

順番に足していった跡が、そのまま並んで残っとる形です。何回止まってこうなったかまでは記録してません。ただあとの1本で足りるものを、先に9本ぶん名指しで書いとったのは確か。

押したはずの「常に許可」が、設定ファイルに無い

確認の画面には「今回だけ許可」と「常に許可」があります。常に許可を押したら、次からは聞かれんはず。

押しました。翌日、同じところで止まりました。

設定ファイルを見に行ったら、更新時刻が前の日から動いてへん。押した内容がここに入った形跡がない。

ここは正直に書いときます。押し間違えたのか、別の場所に保存されとるのか、そこまでは確かめられてません。分かったのは更新時刻が動いてへん、の一点だけ。ただ無人で回す側から見たら理由はどっちでもよくて、次の実行では効いてへんが結論になります。

打った対策が効いたかは、次に同じ場面が来るまで分からん

Day1は設定にチェックが入るも結果欄が空、Day2は自動実行が停止マークで止まったカレンダー図
直した日には分からず、翌朝また止まって気づく

これがいちばん気持ち悪いところ。

対策を打った日、手元に残るのは「打った」という記憶だけです。効いた証拠はどこにも出ません。止まらんかった記録も、うまく通った印も残らん。何も起きんのやから当然といえば当然。

答え合わせができるのは、次に同じ場面が来た時。今回で言うと翌日の朝です。そこで初めて「効いてへんかった」が分かる。

自分でツールを組んどると、こういう答えが遅れて出る修正がけっこう混ざります。直した気になって次の作業へ行って、忘れた頃に同じところで転ぶ。

無人で回す予定があるなら、最初からフォルダ単位で書く

結論はシンプルです。

  • 人が横で見とるやつは名指しでええ。止まっても押せば済む
  • 無人で走らせるやつは最初からフォルダ単位で書く(末尾に **
  • 広げすぎが怖いならフォルダのほうを分ける。自動で触ってええものだけをそこに置いて、そのフォルダにだけ広い許可を出す

実際うちも、フォルダごと許可しとるのは用途を決めた特定のフォルダだけです。どのフォルダにも出しとるわけやない。広い許可を1本と、置き場所の設計をセットにするのが今のところの落とし所。

もう1個。止まった時にその工程だけ諦めて先に進む作りにしておくと、被害が1工程で止まります。許可が1個足りんかっただけでその日の全部が飛ぶのは、あまりにもったいない。

この手の「黙って止まる」「黙って間違う」は、まだ何個か手元に溜まっとります。次はそのへんをまとめて書くつもり。

よくある質問

許可リストは最初から全部許可にしたらあかんの?

やめといたほうがええです。許可リストは「間違って消す」「間違って送る」を止める最後の柵でもあるので。おすすめは、自動で触ってええ場所を専用のフォルダにまとめて、そこにだけ広い許可を出す形。

名指しで足した古い行は消したほうがいい?

広い許可が1本あれば、名指しの行は無くても通ります。ただ消すのは何日か回して問題なしを確かめてからで十分。うちも今は残したままです。

止まったことに、どうやって気づくの?

確認待ちの停止はエラーやないので、失敗の記録が残りません。うちは自動で走らせとる作業に、走った印を毎回1行残させてます。その1行が無い日は、途中で止まったと分かる。

あわせて読みたい