無音で半分になっていた定期実行と、欠落を捕まえる突き合わせ
1日2回動いているはずのバッチが、実際には1回しか起動していませんでした。エラーは1件も出ていません。期待起動回数と実行記録を突き合わせて、無音の欠落を検出する仕組みを作ります。
thinking を切ったまま effort xhigh を指定した設定が、いま黙って high で走っています
thinking を無効にしたまま effort を xhigh や max にすると 400 が返ります。この失敗が黙って high に落ちる挙動へ変わったため、送信前に組み合わせを判定する小さなプリフライトを用意しました。
Claude Desktop のセッションが30日で消えていた問題が直ったあとで、記録の取り方を見直しました
Claude Desktop と Cowork のセッションが30日で消えていた不具合が v2.1.248 で修正されました。自分の環境を確かめる手順と、新しい設定の効く範囲、そしてセッションに頼らず結果を1行ずつ残す小さな仕組みまでをまとめます。
検証スクリプトの出力を、そのまま hook から返してはいけません
hook に足した検査は正しく動いていたのに、会話のほうが先に容量を使い果たしていました。833ファイルで58バイトの検査と42KBの検査を実測で並べ、出力が会話に届く経路と、予算を機械的に守らせるラッパーの書き方をまとめます。
使うモデルだけを /model に並べる modelPicker の設定と、置き換えで消える行
Claude Code v2.1.242 で入った modelPicker で、/model のピッカーに自分の行を並べる方法をまとめました。追加と置き換えの違い、プロジェクト設定では読まれない理由、availableModels と重ねたときに選択肢が狭まる境目までを扱います。
リポジトリに置いた allow を信じるか、環境側の信頼登録に寄せるか
使い捨ての実行環境で Claude Code を非対話で走らせると、リポジトリ内の permissions.allow が信頼待ちのまま落ちます。何が落ちて何が残るのかを 2.1.246 で確かめ、許可設定の置き場所を決め、起動前に検出するプリフライトを用意します。
settings.json のキー名を1文字間違えても、Claude Code は何も言わずに無視します
キー名を書き間違えた settings.json と正しい settings.json で claude doctor の出力を比べたところ、差分はゼロでした。何が検証され何が素通りするかを5通りで測り、書き間違いを自分で落とす検査を用意します。
空白ひとつで、80件の検査が0件になる — 一括処理を任せる前に置くガード
空白を含むフォルダ名の下で走らせた検査ループが、80件のうち1件も開いていませんでした。断片が実在パスに化ける仕組みを実測で切り分け、削除を伴うバッチに置く件数アサーションまで書き残します。
同じスキルを二か所に置いていたら、片方だけ中身が痩せていました
同名のスキルが二つのスコープに存在していました。SKILL.md は sha256 まで一致しているのに、片方には本文が名指ししているファイルが入っていません。66本を走査して欠落2件に絞るまでに検出器を三度書き直した記録です。
長い処理を別セッションに任せて待つ — 通知が届かなかったときのための完了マーカー
Claude Code の notify_when_idle で別セッションの完了通知を受け取る手順と、通知が落ちても待ち続けないための完了マーカーの最小実装。3つの状態切り分けを実行結果つきで解説します。
Claude Code の headersHelper に移したら、プロジェクト配下のカタログだけ認証が通らなくなりました
自前のプラグインカタログを headersHelper へ移す途中で、ユーザースコープでは動くヘルパーがプロジェクト配下だけ落ちました。原因は認証情報の非継承です。動くヘルパー2種と実測した実行コスト、無人実行での注意点をまとめました。
ANTHROPIC_MODEL を消さないまま ANTHROPIC_DEFAULT_MODEL を足しても、始まるモデルは変わりません
v2.1.236 で追加された ANTHROPIC_DEFAULT_MODEL は ANTHROPIC_MODEL の後継ではありません。二つの効き方の違いと、モデル指定の散らばりを一覧する Python スクリプトをまとめました。