モデル切り替えの記録と歯止めを、フック2本で作る
PreModelSwitch と PostModelSwitch を使い、無人実行中のモデル切り替えを記録するフックと、約束していない切り替えだけを止めるフックをゼロから作ります。実測値つきの手順です。
heredoc のクォートを1つ落とすと、ログに書いた金額や日付が別物になります
未クォートの heredoc は本文の変数とバックティックを実行します。実測した4通りの書き換わり方、3種類のクォート記法の比較、プレースホルダと sed で値を安全に埋める手順、既存スクリプトを棚卸しする検出コードまでをまとめました。
MCPサーバが十数個を超えてから、起動直後の一覧を信用しなくなりました
起動直後に「接続できません」と並ぶサーバのうち、こちらから手を打てるものは一部だけです。応答なし・起動失敗・プロトコル拒否を分けて返すプローブを実装し、14台構成で逐次22.03秒が並列5.09秒まで縮むところ、待ち時間を詰めると健全なサーバが失敗に化けるところを実測で残しました。
同じ告知が『+25%』とも『17%減』とも読める — 9月14日に変わる Claude Code の週次上限を検算する
8月29日の告知で Claude Code の週次上限は9月14日から恒久的に+25%へ変わります。『+25%』と『17%減』が同時に成り立つ理由を指数化で検算し、/usage とステータスラインで自分への影響を確かめる手順をまとめました。
無音で半分になっていた定期実行と、欠落を捕まえる突き合わせ
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を返す検査を実測で並べ、hook に出力予算を設ける設計をまとめます。
使うモデルだけを /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件も開いていませんでした。断片が実在パスに化ける仕組みを実測で切り分け、削除を伴うバッチに置く件数アサーションまで書き残します。