本文へスキップ
Claude Media
Claude Code v2.1.78 — 失敗時のフック追加と、プラグインの永続データ領域を強化

Claude Code v2.1.78 — 失敗時のフック追加と、プラグインの永続データ領域を強化

Claude Code v2.1.78はStopFailureフックと${CLAUDE_PLUGIN_DATA}の追加、行単位ストリーミング、サンドボックスの無言無効化修正など26項目をまとめた中規模リリースです。

読了目安 約7

このリリースで何ができるようになるか

Claude Code v2.1.78は26項目を盛り込んだ中規模リリースで、運用の穴をふさぐ小粒な追加機能群が中心です。

  • StopFailureフックでレート制限や認証失敗でターンが落ちた瞬間を直接拾えるようになり、フェイルオーバー設計が楽になる
  • ${CLAUDE_PLUGIN_DATA}変数でプラグイン更新を跨いで残る永続データ領域が用意され、トークンやテンプレートを安全に保管できる
  • 応答テキストが行単位ストリーミングに変わり、長文返答の体感待ち時間が縮む

44項目の大型修正だったv2.1.77の翌日に出たフォローアップで、前日見落とされた実運用の取りこぼしを束で潰しにきた版です。

あなたの開発フローはどう変わるか

CIや並列エージェントの監視を組んでいるチーム

StopFailureフックが追加され、ターンがAPIエラー(レート制限、認証失敗等)で終わったタイミングを拾えるようになりました。これまではStopフックが正常終了にだけ反応していたため、「落ちた瞬間に通知したい」「別アカウントへフェイルオーバーしたい」用途を外部スクリプトで実装する手段が限られていました。CI上の長時間タスクや並列エージェント運用で、レート制限到達をトリガーに別構成へ切り替える設計が組みやすくなります。

フック発火条件向いている用途
Stopターンが正常終了した完了通知、次ジョブのキック、セッション要約の保存
StopFailureAPI由来のエラーでターンが落ちたレート制限アラート、別プロファイルへのフェイルオーバー、失敗ログ集約

プラグインを開発・配布している人

${CLAUDE_PLUGIN_DATA}変数で、プラグイン更新を生き延びる永続状態の置き場が用意されました。これまではプラグインディレクトリ直下に書いて更新時に消えるリスクがありましたが、この変数が指す領域なら維持されます。/plugin uninstall時はこの永続領域を削除してよいかプロンプトで確認するようになり、ユーザーが気付かないまま履歴やカスタム設定が飛ぶ事故を避ける設計です。

加えて、プラグイン同梱のエージェントでeffort / maxTurns / disallowedToolsのfrontmatterが使えるようになり、プラグインで配るエージェントのコスト・暴走リスクを配布側で縛れるようになりました。

長時間セッションを常用するユーザー

応答テキストが行単位でストリームされるようになり、長文出力の序盤で画面が止まって見える時間が減ります。--resumeで大容量セッションを開くときのメモリ使用量と起動時間も改善されました。前日のv2.1.77でも5MB超セッションの履歴切り詰めが潰されており、長時間セッション運用の安定化が連続して進んでいるのが見て取れます。

サンドボックスを有効にしている環境

セキュリティ修正として、sandbox.enabled: trueを指定していても依存不足時にサンドボックスが無言で無効化されていた問題が修正され、起動時に可視の警告が出るようになりました。bypassPermissionsモードで.git/.claude等の保護対象ディレクトリがプロンプトなしに書き込み可能だった問題、sandbox.filesystem.allowWriteが絶対パスで動いていなかった問題も同時に解消されています。

tmuxを噛ませて長時間運用しているユーザー

iTerm2 / Kitty / Ghostty向けのポップアップ通知やプログレスバー表示が、tmux内から起動したClaude Codeでも外側ターミナルまで届くようになりました(tmux側でset -g allow-passthrough onが前提)。tmuxを噛ませた途端にドックバッジやプログレス表示が消えて困っていた利用者に効きます。

VS Code / Cursorを起動環境にしているユーザー

VS CodeをDock / Spotlightから起動した際にBashツールがHomebrew等のPATH依存バイナリを見つけられない問題、truecolor非対応端末でClaude orangeが褪せて表示される問題、サイドバー展開時のログイン画面ちらつきなどが修正されています。

主な変更点

StopFailureフックの追加

ターンがAPIエラー(レート制限、認証失敗等)で終わったタイミングで発火する新フックです。

${CLAUDE_PLUGIN_DATA}変数

プラグイン更新を跨いで残る永続状態の置き場として用意されました。/plugin uninstall時は削除確認のプロンプトが入ります。

プラグイン同梱エージェントのfrontmatter拡張

フィールド役割
effort推論に投入する思考量の指定
maxTurnsエージェントが1セッションで回せるターン数の上限
disallowedTools当該エージェントで明示的に使わせないツールのリスト

tmux通知のpassthrough対応

tmux側でset -g allow-passthrough onを有効化してあれば、iTerm2 / Kitty / Ghostty向けのポップアップ通知やプログレスバー表示が外側ターミナルまで届くようになります。

行単位ストリーミング

応答テキストが生成中に行単位でストリームされるようになりました。

ANTHROPIC_CUSTOM_MODEL_OPTION環境変数

/modelコマンドのピッカーに任意のカスタムエントリを追加できる環境変数。_NAME_DESCRIPTIONサフィックスで表示名と説明も差し替え可能です。

大型セッション再開時のメモリ・起動時間改善

--resumeで大容量セッションを開くときのメモリ使用量と起動時間が改善されました。

サンドボックス関連の修正(セキュリティ含む)

  • セキュリティ: sandbox.enabled: trueを指定していても依存不足時にサンドボックスが無言で無効化されていた問題を修正。起動時に可視の警告が出るようになった
  • sandbox.filesystem.allowWriteが絶対パスで動いていなかった問題を修正
  • bypassPermissionsモードで.git/.claude等の保護対象ディレクトリがプロンプトなしに書き込み可能だった問題を修正
  • /sandbox DependenciesタブがmacOS上でもLinux向け前提条件を表示していた問題を修正
  • Linux上のサンドボックス化されたBashでgit log HEADambiguous argumentで落ちる問題、スタブファイルが作業ツリーのgit statusを汚していた問題を修正

権限・モデル周りの修正

  • deny: ["mcp__servername"]権限ルールが、MCPサーバツールをモデル送信時のリストから除去できておらず、モデルがブロック対象ツールを認識して呼び出そうとする問題を修正
  • APIエラーがstopフックを起動し、ブロッキングエラーをモデルに再送する無限ループを修正
  • Haiku系モデル利用時にANTHROPIC_BETAS環境変数が無言で無視されていた問題を修正

ターミナルUI / 入力系の修正

  • 通常モードでのCtrl+Uがreadlineのkill-lineではなくスクロールに割り当てられていた問題を修正(Ctrl+U/Ctrl+Dのハーフページスクロールはtranscriptモード専用に移動)
  • 音声モードのmodifier組み合わせ(Ctrl+K等)push-to-talkがホールド必須になっていた問題を修正
  • WSL2 + WSLg(Windows 11)で音声モードが動かない問題を修正。WSL1 / Win10ユーザーには明確なエラーメッセージが出るように
  • キューされたプロンプトが改行なしで連結されていた問題を修正

skills / hooks読み込み、その他

  • --worktreeフラグ指定時に、worktree側の.claude/skills.claude/hooksが読まれない問題を修正
  • CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS環境変数およびincludeGitInstructions設定が、システムプロンプト内のgit statusセクションを抑止できていなかった問題を修正
  • VS CodeをDock / Spotlightから起動した際、BashツールがHomebrew等のPATH依存バイナリを見つけられない問題を修正
  • VS Code / Cursor / code-serverのtruecolor非対応ターミナルでClaude orangeが褪せて表示される問題を修正
  • cc log--resumeが5MB超のサブエージェント使用セッションで無言に履歴を切り詰めていた問題を修正

VS Code拡張

  • サイドバー展開時に認証済みでもログイン画面が一瞬ちらつく問題を修正
  • Opus選択時のAPI Error: Rate limit reachedを修正。プラン階層不明のサブスクライバーに対してモデルドロップダウンから1Mコンテキストバリアントが提示されなくなった

v2.1.77と組み合わせて読むと意図が見える

v2.1.78は前日のv2.1.77と連続した「追撃パッチ」の位置付けになります。

  • v2.1.77で44項目を一気に潰した直後に26項目が続くのは、大型リリース後に表に出た運用の穴をそのまま拾った可能性が高い
  • StopFailureフックと${CLAUDE_PLUGIN_DATA}は「1日で設計した機能」ではなく既存設計のフォローアップで、v2.1.77のサンドボックス・権限強化と整合する方向の追加
  • サンドボックス無言無効化の修正がSecurity:ラベル付きで入っているのは、前日の大量修正でサンドボックス周りが改めて注目された結果と読むこともできる

つまりv2.1.78は単独で見ると「小ぶりだが意味のある追加 + 多数の修正」という印象ですが、v2.1.77と合わせて1つのまとまりとして扱うと、サンドボックスとフックの両輪を同時に引き締める意図が浮かび上がります。直後のv2.1.83の76項目リリースへと繋がる整地フェーズの一コマです。

まとめ

  • サンドボックス運用に効く: 無言無効化と保護ディレクトリ書き込み抑止のセキュリティ修正が本版で解消されます
  • CI / フェイルオーバー設計なら推奨: StopFailureフックで失敗を一次情報として取れるようになります
  • プラグイン作者なら推奨: ${CLAUDE_PLUGIN_DATA}とfrontmatter 3種で配布設計の余地が広がります
  • tmux + iTerm2 / Kitty / Ghostty環境なら推奨: 通知がtmux越しに届きます

v2.1.77を適用済みの環境でも、v2.1.78はセキュリティ項目を含むため連続で当ててしまうほうが管理しやすいリリースです。更新はclaude updateで取得できます。

この記事を共有:XLinkedIn