CLAUDE LABEN
OPUS5 — Claude Opus 5 の提供が始まりました。コーディングと知識労働に向けた、より速く費用効率の高いモデルで、Max では既定・Pro では最上位の選択肢になりますSUNSET — 6月5日に非推奨化された Claude Opus 4.1 は本日8月5日がリタイア日です。API でバージョンを固定している箇所は確認が必要ですFOCUS — VSCode に Focus view が入りました。ツールの実行ログをターンごとの折りたたみ要約に隠し、Ctrl+Alt+F で会話の筋だけを追えますMASK — Linux と WSL でサンドボックスの資格情報マスキングに対応しました。中ではセンチネル値を読み、送信時にプロキシが実値へ差し替えますLEAK — 長時間セッションのメモリリークが修正されました。MCP stdio の stderr 蓄積と、開きっぱなしの LSP ドキュメントが対象ですMCP — MCP 2026-07-28 仕様でステートレスなコアと OAuth・OIDC 認可が入りました。SDK の月間ダウンロードは4億を超えていますOPUS5 — Claude Opus 5 の提供が始まりました。コーディングと知識労働に向けた、より速く費用効率の高いモデルで、Max では既定・Pro では最上位の選択肢になりますSUNSET — 6月5日に非推奨化された Claude Opus 4.1 は本日8月5日がリタイア日です。API でバージョンを固定している箇所は確認が必要ですFOCUS — VSCode に Focus view が入りました。ツールの実行ログをターンごとの折りたたみ要約に隠し、Ctrl+Alt+F で会話の筋だけを追えますMASK — Linux と WSL でサンドボックスの資格情報マスキングに対応しました。中ではセンチネル値を読み、送信時にプロキシが実値へ差し替えますLEAK — 長時間セッションのメモリリークが修正されました。MCP stdio の stderr 蓄積と、開きっぱなしの LSP ドキュメントが対象ですMCP — MCP 2026-07-28 仕様でステートレスなコアと OAuth・OIDC 認可が入りました。SDK の月間ダウンロードは4億を超えています
記事一覧/Claude Code
Claude Code/2026-06-18上級

SessionEnd フックに後片付けとログ記録を寄せる

Claude Code に追加されたポストセッションフックを使い、セッション終了後の一時ファイル削除とログ記録を自動化する方法を、複数リポジトリを順に処理する運用の実例とともにまとめました。

Claude Code211hooks15SessionEndautomation54CI/CD19

プレミアム記事

毎晩動かしている自動投稿の処理が、記事を push したあとに .next の削除とログの追記をやり残したまま終わることが、月に数回ありました。生成と push までは確実に走るのに、最後の後片付けだけが抜け落ちる。原因はいつも同じで、後片付けを「本文の処理の続き」として書いていたために、途中で別の分岐に入ると最後まで到達しないことがあったのです。

2026年6月18日の更新で Claude Code にポストセッションフック(SessionEnd)が加わりました。セッションが終わったあとに必ず走るフックです。これは、まさに私が「本文の最後に置いていたから取りこぼしていた処理」を、構造として終了時に保証してくれる仕組みでした。個人開発で複数のサイトを順番に処理している立場から、実際に何を移し、どこでつまずいたかを書いておきます。

後片付けを「処理の続き」に書くと、なぜ取りこぼすのか

セッション本体の処理は、エラーや早期 return、条件分岐で経路が枝分かれします。後片付けをその末尾に置くと、本流を通ったときしか実行されません。シェルスクリプトの trap や、プログラミング言語の finally で守る発想と同じことを、Claude Code のセッションに対してやりたい——それが SessionEnd フックの位置づけです。

私の場合、取りこぼしていたのは次の3つでした。一時ビルド成果物(.next)の削除、その日の更新ログの追記、そして次回のためのディスク空き容量の確認です。どれも記事の品質には関係しませんが、放っておくとディスクが詰まり、翌日のセッションが起動すらしなくなります。

SessionEnd フックの基本形

フックは settings.jsonhooks に、イベント名をキーとして登録します。SessionEnd はセッションが閉じる直前に発火します。

{
  "hooks": {
    "SessionEnd": [
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/on-session-end.sh"
          }
        ]
      }
    ]
  }
}

ここで一つ覚えておきたいのは、SessionEnd フックの終了コードや標準出力は、すでに終わろうとしているセッションの結論を変えないという点です。Stop フックのように処理をブロックして続行させる用途ではなく、あくまで「終わったあとの確実な一仕事」に向いています。私は最初これを Stop フックと混同して、後片付けスクリプトの中で次の処理を呼び戻そうとして失敗しました。SessionEnd は引き返せない場所だと割り切るのが正解です。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
settings.json への SessionEnd フック登録例と、終了コードが後続処理を変えない理由
.next 削除・ログ追記・空き容量チェックをフックへ移す bash の具体例
set -e で後片付けが途中終了した実例と、set -uo pipefail での回避策
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude Code2026-07-10
PreCompact と SessionEnd で長時間セッションの決定事項を引き継ぐ
自動コンパクションで消えるのは会話ではなく「なぜそう決めたか」です。PreCompact / SessionEnd / SessionStart の3フックで決定ログを外部ファイルへ退避し、次のセッションへ確実に手渡す実装を、動くコードと実測値つきで解説します。
Claude Code2026-07-30
作業ルートを途中で足したとき、無視規則と deny はどこまで届くのか — DirectoryAdded で境界を測り直す
セッション途中で作業ルートを追加すると、無視規則も deny パターンもそのままでは新しいルートに届きません。git check-ignore と照合器の比較で境界を実測し、DirectoryAdded から呼ぶ差分監査スクリプトの実行結果まで記録しました。
Claude Code2026-07-29
MCPサーバーは繋がっているのに、ツールが0件で返る — 無人実行の権限劣化をツール表の差分で止める
資格情報が抜けてもMCPのハンドシェイクは成功し、tools/list は空配列を返します。例外が飛ばないまま実行が完走する構造と、期待ツール表との差分で無人実行を止めるpreflightの実装を、実測値つきで記録しました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →