一覧へ戻る v2.1.78

バックナンバー · BACK ISSUE

v2.1.78

4 新機能 3 改善 19 修正 · 26 件の変更

StopFailure フック、プラグインの永続状態(${CLAUDE_PLUGIN_DATA})、行単位ストリーミングを追加し、サンドボックス無効化の警告やバイパスモードの保護パスに関するセキュリティ修正を含みます。

新機能 Feature 4
  • API エラー(レート制限、認証失敗など)でターンが終わったときに発火する StopFailure フックイベントを追加しました。

    hooks

    詳しく
    ターンが API エラーで終了したときに発火する新しいフックイベント StopFailure が追加されました。フックは特定のタイミングで自動実行されるスクリプトの仕組みで、これまでは正常終了時の Stop などしかありませんでしたが、レート制限や認証失敗といったエラーでの中断も拾えるようになります。エラー時に通知を出したり後処理を走らせたりしたい人にとって、失敗ケースを取りこぼさず検知できるのが利点です。
  • プラグイン更新をまたいで残るプラグインの永続状態用に ${CLAUDE_PLUGIN_DATA} 変数を追加しました。/plugin uninstall は削除前にプロンプトを出します。

    pluginsconfig

    詳しく
    プラグインが更新をまたいでデータを保持するための専用領域を指す ${CLAUDE_PLUGIN_DATA} 変数が追加されました。これまではプラグインを更新するとファイルが入れ替わって状態が失われがちでしたが、この場所に保存したデータは更新後も残ります。さらに /plugin uninstall でアンインストールする際は、このデータを消す前に確認のプロンプトが出るため、設定や履歴を誤って失うリスクが減ります。
  • プラグイン同梱のエージェント向けに、effortmaxTurnsdisallowedTools フロントマターのサポートを追加しました。

    pluginsagents

    詳しく
    プラグインに同梱されるエージェントの定義ファイル(フロントマター)で、effortmaxTurnsdisallowedTools の指定ができるようになりました。フロントマターはファイル冒頭に書く設定欄のことで、これにより思考の度合い・最大ターン数・禁止ツールをエージェントごとに細かく制御できます。プラグインでエージェントを配布する開発者にとって、振る舞いをより精密に設計できるようになります。
  • /model ピッカーにカスタムエントリを追加する ANTHROPIC_CUSTOM_MODEL_OPTION 環境変数を追加しました。表示用に任意の _NAME_DESCRIPTION 接尾辞付き変数があります。

    modelsconfig

    詳しく
    /model のモデル選択リストに独自の項目を追加できる環境変数 ANTHROPIC_CUSTOM_MODEL_OPTION が追加されました。あわせて _NAME_DESCRIPTION を末尾に付けた変数で、表示名と説明文を任意に指定できます。独自エンドポイントや特定モデルを選択肢として常駐させたいユーザーにとって、ピッカーから手軽に切り替えられるようになります。
改善 Improvement 3
  • set -g allow-passthrough on の tmux 内で実行しているとき、ターミナル通知(iTerm2/Kitty/Ghostty のポップアップ、プログレスバー)が外側のターミナルに届くようになりました。

    ui

    詳しく
    tmux(端末を分割・多重化するツール)の中で動かしているときに、iTerm2/Kitty/Ghostty のポップアップ通知やプログレスバーが外側のターミナルまで届くようになりました。従来は tmux が間に挟まることでこれらの通知が外まで伝わらないことがありましたが、set -g allow-passthrough on を設定しておけば素通しされます。tmux 越しに Claude Code を使う人が、ネイティブの端末通知を受け取れるようになります。
  • 応答テキストが、生成されるにつれて行単位でストリーミングされるようになりました。

    ui

    詳しく
    応答テキストが、生成されるそばから行単位で順次表示されるようになりました。長い返答でも書き上がりを待たずに途中経過が見えるため、体感の応答性が向上します。出力が完成するまで何も表示されないのを待たされていた人に嬉しい変更です。
  • 大きなセッションを再開するときのメモリ使用量と起動時間を改善しました。

    agentsperformance

    詳しく
    大きなセッションを再開する際のメモリ使用量と起動時間が改善されました。会話が長く膨らんだセッションでも、より少ないメモリで素早く立ち上がります。長時間にわたるセッションを頻繁に再開するユーザーにとって、動作が軽快になります。
修正 Fix 19
  • Linux のサンドボックス化された Bash 内で git log HEAD が「ambiguous argument」で失敗する問題と、スタブファイルが作業ディレクトリの git status を汚染する問題を修正。

    bashsandbox

    詳しく
    Linux のサンドボックス(隔離環境)化された Bash 内で git log HEAD が「ambiguous argument」エラーで失敗する不具合が修正されました。あわせて、内部的に生成されるスタブファイルが作業ディレクトリに現れて git status の表示を汚していた問題も解消されています。サンドボックスを有効にして git を使う Linux ユーザーにとって、コマンドが期待どおり動き、作業ツリーが余計なファイルで散らからなくなります。
  • サブエージェントを使った大きなセッション(5 MB 超)で、cc log--resume が会話履歴を無言で切り詰める問題を修正。

    agents

    詳しく
    サブエージェントを使った大きなセッション(5 MB 超)で、cc log--resume が会話履歴を黙って途中で切り詰めてしまう不具合が修正されました。これまでは履歴の一部が警告もなく失われていましたが、今後は完全な履歴を読み込めます。長時間・大規模なセッションを再開したりログを確認したりするユーザーにとって、過去のやり取りが欠落しなくなります。
  • API エラーが、ブロックするエラーをモデルに再投入する stop フックをトリガーしたときの無限ループを修正。

    hooksapi

    詳しく
    API エラーが stop フックを起動し、そのフックがブロック扱いのエラーをモデルへ再投入することで無限ループに陥る不具合が修正されました。エラー→フック→再投入→またエラーという連鎖が止まらなくなる状態でしたが、解消されています。stop 系フックを使っていてエラー時に処理が止まらなくなった経験のある人に関係します。
  • deny: ["mcp__servername"] の権限ルールが、モデルに送る前に MCP サーバーのツールを除去せず、ブロックされたツールをモデルが見て試せてしまう問題を修正。

    permissionsmcpsecurity

    詳しく
    deny: ["mcp__servername"] という権限ルールで MCP サーバーのツールを拒否しても、モデルへ送る前に実際にはそのツールが除去されず、モデルがブロック対象のツールを見て呼び出そうとしてしまう不具合が修正されました。MCP は外部ツールを Claude に接続する仕組みで、本来 deny したツールはモデルから完全に隠されるべきものです。MCP ツールを明示的に禁止しているユーザーにとって、拒否ルールが意図どおり機能するようになります。
  • sandbox.filesystem.allowWrite が絶対パスで機能しない問題を修正(以前は // 接頭辞が必要でした)。

    sandboxpermissions

    詳しく
    サンドボックス内で書き込みを許可するパスを指定する設定 sandbox.filesystem.allowWrite が、通常の絶対パスでは機能しない不具合が修正されました。これまでは // という接頭辞を付ける必要がある分かりにくい挙動でしたが、今後は普通の絶対パスをそのまま指定できます。サンドボックスの書き込み許可を設定しているユーザーにとって、直感どおりに書けるようになります。
  • /sandbox の Dependencies タブが、macOS で macOS 固有の情報ではなく Linux の前提条件を表示する問題を修正。

    sandboxuimacos

    詳しく
    /sandbox の Dependencies(依存関係)タブが、macOS 上でも macOS 固有の情報ではなく Linux 向けの前提条件を表示してしまう不具合が修正されました。今後は実行中の OS に合った情報が表示されます。macOS でサンドボックスのセットアップ状況を確認するユーザーにとって、正しい手順が案内されるようになります。
  • セキュリティ: sandbox.enabled: true でも依存が欠けているときにサンドボックスが無言で無効化される問題を修正。起動時に目に見える警告を表示するようになりました。

    sandboxsecurity

    詳しく
    セキュリティ修正です。sandbox.enabled: true を設定していても必要な依存が欠けているとサンドボックスが何の知らせもなく無効化され、隔離されていないつもりで実行してしまう危険がありました。今後は起動時に目に見える警告が表示されるため、保護が効いていないことに気づけます。サンドボックスを安全策として頼っている人は、有効になっているか確実に把握できるようになります。
  • bypassPermissions モードで、.git.claude などの保護ディレクトリがプロンプトなしで書き込み可能になる問題を修正。

    permissionssecurity

    詳しく
    セキュリティに関わる修正です。権限確認を省略する bypassPermissions モードでも、.git.claude といった保護対象ディレクトリへの書き込みは本来プロンプトで確認されるべきですが、確認なしに書き込めてしまっていました。今後はこれらの保護パスについて、bypassPermissions モードでも書き込み前に確認が入ります。権限をバイパスして使うユーザーにとって、重要なファイルが不用意に変更されるのを防げます。
  • 通常モードの ctrl+u が readline の行削除ではなくスクロールする問題を修正(ctrl+u/ctrl+d のハーフページスクロールはトランスクリプトモードのみに移動)。

    ui

    詳しく
    通常モードでの ctrl+u が、本来の readline 風「カーソルより前の行削除(kill-line)」ではなく画面スクロールとして動作していた不具合が修正されました。あわせて ctrl+u/ctrl+d によるハーフページスクロールは、トランスクリプトモード専用に移されています。シェル風のキー操作で入力を編集する人にとって、ctrl+u が期待どおり文字を削除するようになります。
  • 音声モードの修飾キー組み合わせのプッシュ・トゥ・トークのバインド(例: ctrl+k)が、即座に起動せず長押しを要する問題を修正。

    voice

    詳しく
    音声モードで、ctrl+k のように修飾キーを組み合わせたプッシュ・トゥ・トーク(押している間だけ話すキー)が、即座に反応せず長押しを求められてしまう不具合が修正されました。今後は押した瞬間に起動します。修飾キー付きのショートカットを音声入力に割り当てているユーザーにとって、反応が機敏になります。
  • WSLg のある WSL2(Windows 11)で音声モードが動作しない問題を修正。WSL1/Win10 のユーザーには明確なエラーが表示されるようになりました。

    voicewindows

    詳しく
    WSLg を備えた WSL2(Windows 11)環境で音声モードが動作しない不具合が修正されました。WSL は Windows 上で Linux を動かす仕組みで、WSLg はその GUI 対応版です。さらに、音声モードに対応しない WSL1 や Windows 10 のユーザーには、原因の分かる明確なエラーが表示されるようになります。WSL 上で Claude Code の音声機能を使いたい Windows ユーザーに関係します。
  • --worktree フラグが worktree ディレクトリからスキルとフックを読み込まない問題を修正。

    agentsworktreeskillshooks

    詳しく
    --worktree フラグを使ったときに、その worktree ディレクトリからスキルとフックが読み込まれない不具合が修正されました。worktree は同じリポジトリの作業ツリーを別ディレクトリに展開する git の機能で、これまではそこに置いたスキルやフックが無視されていました。worktree ごとに固有のスキル・フックを使い分けたいユーザーにとって、正しく適用されるようになります。
  • CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONSincludeGitInstructions 設定が、システムプロンプトの git status セクションを抑制しない問題を修正。

    configcontext

    詳しく
    環境変数 CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS と設定 includeGitInstructions を使っても、システムプロンプトに含まれる git status のセクションが消えない不具合が修正されました。これらはモデルに渡す git 関連の指示を抑制するための設定です。git 情報をプロンプトに含めたくないユーザーにとって、設定どおり省略されるようになります。
  • VS Code を Dock/Spotlight から起動したとき、Bash ツールが Homebrew など PATH 依存のバイナリを見つけられない問題を修正。

    bashidemacos

    詳しく
    VS Code を Dock や Spotlight から起動した場合に、Bash ツールが Homebrew などの PATH に依存するコマンドを見つけられない不具合が修正されました。Dock/Spotlight 経由の起動ではシェルの PATH 設定が引き継がれないことが原因でした。macOS で VS Code 拡張から Claude Code を使い、Homebrew で入れたツールを呼び出すユーザーに関係します。
  • truecolor サポートを通知しない VS Code/Cursor/code-server のターミナルで、Claude のオレンジ色が色あせる問題を修正。

    ideui

    詳しく
    truecolor(24bit フルカラー)対応を通知しない VS Code/Cursor/code-server のターミナルで、Claude のオレンジ色が色あせて見える不具合が修正されました。これらの端末で正しい配色が表示されるようになります。該当エディタのターミナルで Claude Code を使う人にとって、見た目が改善されます。
  • Haiku モデルを使うときに ANTHROPIC_BETAS 環境変数が無言で無視される問題を修正。

    modelsapi

    詳しく
    Haiku モデルを使っているときに、ベータ機能を有効化する環境変数 ANTHROPIC_BETAS が黙って無視される不具合が修正されました。これまでは設定しても効かず気づきにくい状態でしたが、Haiku でも正しく反映されるようになります。Haiku でベータ機能を試したいユーザーに関係します。
  • キューに入ったプロンプトが、改行の区切りなしで連結される問題を修正。

    ui

    詳しく
    順番待ち(キュー)に入れた複数のプロンプトが、改行で区切られずにそのまま連結されてしまう不具合が修正されました。これまでは前後のプロンプトがくっついて意図しない一続きの文になることがありましたが、今後は適切に改行で分けられます。返答を待つ間に次の指示を続けて入力するユーザーにとって、各プロンプトが正しく区切られるようになります。
  • [VSCode] 既に認証済みの状態でサイドバーを開くと、ログイン画面が一瞬表示される問題を修正。

    ideauth

    詳しく
    VS Code 拡張で、すでにログイン済みの状態でサイドバーを開いたときに、ログイン画面が一瞬ちらっと表示される不具合が修正されました。今後は認証済みであれば最初から通常の画面が表示されます。VS Code でサイドバーを開閉するユーザーにとって、見た目のちらつきが解消されます。
  • [VSCode] Opus を選んだときの「API Error: Rate limit reached」を修正。モデルのドロップダウンが、プランティアが不明な加入者に 1M コンテキストのバリアントを提示しなくなりました。

    idemodelsapi

    詳しく
    VS Code 拡張で Opus を選んだ際に「API Error: Rate limit reached」が出る不具合が修正されました。原因は、プランの階層が判別できない加入者にも 1M コンテキスト(100 万トークン対応)のバリアントが選択肢として提示されていたためで、今後はそうしたユーザーには表示されなくなります。利用できないはずの 1M 版を選んでエラーになっていた VS Code 利用者にとって、選択肢が適切に絞り込まれます。
原文 Markdown を表示
## 2.1.78

- Added `StopFailure` hook event that fires when the turn ends due to an API error (rate limit, auth failure, etc.)
- Added `${CLAUDE_PLUGIN_DATA}` variable for plugin persistent state that survives plugin updates; `/plugin uninstall` prompts before deleting it
- Added `effort`, `maxTurns`, and `disallowedTools` frontmatter support for plugin-shipped agents
- Terminal notifications (iTerm2/Kitty/Ghostty popups, progress bar) now reach the outer terminal when running inside tmux with `set -g allow-passthrough on`
- Response text now streams line-by-line as it's generated
- Fixed `git log HEAD` failing with "ambiguous argument" inside sandboxed Bash on Linux, and stub files polluting `git status` in the working directory
- Fixed `cc log` and `--resume` silently truncating conversation history on large sessions (>5 MB) that used subagents
- Fixed infinite loop when API errors triggered stop hooks that re-fed blocking errors to the model
- Fixed `deny: ["mcp__servername"]` permission rules not removing MCP server tools before sending to the model, allowing it to see and attempt blocked tools
- Fixed `sandbox.filesystem.allowWrite` not working with absolute paths (previously required `//` prefix)
- Fixed `/sandbox` Dependencies tab showing Linux prerequisites on macOS instead of macOS-specific info
- **Security:** Fixed silent sandbox disable when `sandbox.enabled: true` is set but dependencies are missing — now shows a visible startup warning
- Fixed `.git`, `.claude`, and other protected directories being writable without a prompt in `bypassPermissions` mode
- Fixed ctrl+u in normal mode scrolling instead of readline kill-line (ctrl+u/ctrl+d half-page scroll moved to transcript mode only)
- Fixed voice mode modifier-combo push-to-talk keybindings (e.g. ctrl+k) requiring a hold instead of activating immediately
- Fixed voice mode not working on WSL2 with WSLg (Windows 11); WSL1/Win10 users now get a clear error
- Fixed `--worktree` flag not loading skills and hooks from the worktree directory
- Fixed `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` and `includeGitInstructions` setting not suppressing the git status section in the system prompt
- Fixed Bash tool not finding Homebrew and other PATH-dependent binaries when VS Code is launched from Dock/Spotlight
- Fixed washed-out Claude orange color in VS Code/Cursor/code-server terminals that don't advertise truecolor support
- Added `ANTHROPIC_CUSTOM_MODEL_OPTION` env var to add a custom entry to the `/model` picker, with optional `_NAME` and `_DESCRIPTION` suffixed vars for display
- Fixed `ANTHROPIC_BETAS` environment variable being silently ignored when using Haiku models
- Fixed queued prompts being concatenated without a newline separator
- Improved memory usage and startup time when resuming large sessions
- [VSCode] Fixed a brief flash of the login screen when opening the sidebar while already authenticated
- [VSCode] Fixed "API Error: Rate limit reached" when selecting Opus — model dropdown no longer offers 1M context variant to subscribers whose plan tier is unknown