0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code v2.1.85〜v2.1.89 リリースノートまとめ

0
Posted at

はじめに

Claude Code の v2.1.85〜v2.1.89 に含まれる新機能・修正・改善をまとめました。
フックシステムの大幅強化、MCP 連携の改善、多数のバグ修正が含まれます。

# 最新バージョンへのアップデート
npm update -g @anthropic-ai/claude-code

3行まとめ

  • 🪝 PreToolUse / PermissionDenied フックが強化され、ヘッドレスセッションでの自動化がより柔軟に
  • 🔌 MCP 連携が改善(非ブロッキング接続、OAuth RFC 9728 対応、セッション ID ヘッダー追加)
  • 🐛 Windows・macOS・ターミナルエミュレータ固有の多数のバグを解消

✨ 新機能まとめ

🪝 フック・パーミッション

"defer" パーミッション決定(v2.1.89)

PreToolUse フックから "defer" を返すと、ヘッドレスセッションがツール呼び出し時点で一時停止し、-p --resume で再開して再評価できるようになりました。

// PreToolUse フック設定例
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash(rm *)",
        "hooks": [
          {
            "type": "command",
            "command": "my-approval-script",
            "timeout": 10
          }
        ]
      }
    ]
  }
}

PermissionDenied フック(v2.1.89)

Auto モードのクラシファイアによって拒否された後に発火する新しいフックです。{retry: true} を返すとモデルに再試行を促せます。

フックの条件フィルタリング(v2.1.85)

フックに条件 if フィールドが追加されました。パーミッションルール構文(例:Bash(git *))でフックが発火する条件を絞り込め、不要なプロセス起動を削減できます。

{
  "hooks": {
    "PreToolUse": [
      {
        "if": "Bash(git *)",
        "hooks": [
          { "type": "command", "command": "echo 'git command detected'" }
        ]
      }
    ]
  }
}

PreToolUseAskUserQuestion に応答可能(v2.1.85)

updatedInputpermissionDecision: "allow" を合わせて返すことで、PreToolUse フックが AskUserQuestion を処理できるようになりました。独自 UI で回答を収集するヘッドレス統合で活用できます。


🔌 MCP 連携

MCP_CONNECTION_NONBLOCKING=true(v2.1.89)

-p モードで MCP 接続の待機を完全にスキップできます。また --mcp-config のサーバー接続タイムアウトが 5 秒に設定されました(最も遅いサーバーにブロックされなくなります)。

MCP ヘルパースクリプト向け環境変数(v2.1.85)

CLAUDE_CODE_MCP_SERVER_NAMECLAUDE_CODE_MCP_SERVER_URLheadersHelper スクリプトに渡されるようになりました。1 つのヘルパースクリプトで複数のサーバーを処理できます。

X-Claude-Code-Session-Id ヘッダー(v2.1.86)

API リクエストに X-Claude-Code-Session-Id ヘッダーが付与されるようになりました。プロキシ側でリクエストボディをパースしなくてもセッション単位での集計が可能になります。

MCP OAuth の RFC 9728 対応(v2.1.85)

MCP OAuth が RFC 9728 Protected Resource Metadata discovery に従って認可サーバーを検索するようになりました。


🖥️ UI・表示

ちらつきなしの alt-screen レンダリング(v2.1.89)

CLAUDE_CODE_NO_FLICKER=1 を設定すると、仮想スクロールバックを用いたちらつきのない alt-screen レンダリングが有効になります。

@ メンションに名前付きサブエージェントを表示(v2.1.89)

@ メンションのタイプアヘッドに名前付きサブエージェントが候補として表示されるようになりました。

Auto モードの拒否通知強化(v2.1.89)

拒否されたコマンドが通知として表示され、/permissions → Recent タブで確認・r で再試行できるようになりました。


📁 ファイル・VCS

.jj / .sl を VCS 除外リストに追加(v2.1.86)

Jujutsu(.jj)と Sapling(.sl)のメタデータディレクトリが、Grep やファイル補完の対象から除外されるようになりました。

スケジュールタスクにタイムスタンプ追記(v2.1.85)

/loopCronCreate でスケジュールされたタスクが発火したタイミングがトランスクリプトに記録されます。


🛠️ 主な修正

v2.1.89

分類 内容
Windows Edit/Write ツールが CRLF を二重にしたり Markdown の行末スペースを削除するバグを修正
Windows PowerShell ツールで git push など stderr に書き込むコマンドが失敗と誤検知されるバグを修正
Windows Shift+Enter で Windows Terminal Preview 1.25 が改行でなく送信してしまうバグを修正
macOS claude-cli:// ディープリンクが macOS で開かないバグを修正
macOS ボイスモードでマイク権限リクエストが失敗するバグを修正(Apple Silicon)
セッション StructuredOutput スキーマキャッシュのバグで複数スキーマ使用時に約 50% の失敗率が発生していた問題を修正
セッション 大きな JSON 入力が LRU キャッシュキーに残りメモリリークが発生していた問題を修正
セッション 50MB 超のセッションファイルからメッセージ削除時のクラッシュを修正
セッション 1 GiB 超の大きなファイルに Edit ツールを使用した際の OOM クラッシュを修正
LSP クラッシュ後に LSP サーバーがゾンビ状態になる問題を修正(次のリクエストで自動再起動)
補完 プロンプト履歴で CJK 文字・絵文字を含むエントリが ~/.claude/history.jsonl の 4KB 境界で消失するバグを修正
フック if 条件フィルタリングが複合コマンド(ls && git push)や env-var プレフィックス付きコマンド(FOO=bar git push)にマッチしない問題を修正
コンパクト autocompact が即座にコンテキストが埋まる状態を 3 回連続検出した際に API 呼び出しを浪費せず停止するよう修正
ターミナル iTerm2 + tmux 環境でのストリーミング中の UI ジッターを修正
ターミナル Ghostty / Kitty / WezTerm など Kitty keyboard protocol 対応ターミナルで終了後に enhanced keyboard mode が残存する問題を修正
/stats サブエージェントのトークン使用量が除外されていたカウント漏れと 30 日以上の履歴消失を修正
-p モード deferred ツール入力が 64KB 超の場合や deferred マーカーが存在しない場合の --resume ハングを修正

v2.1.86

分類 内容
セッション v2.1.85 以前に作成されたセッションで --resume が "tool_use ids were found without tool_result blocks" と失敗するバグを修正
ファイル プロジェクトルート外のファイル(例:~/.claude/CLAUDE.md)に対して Write/Edit/Read が失敗する問題を修正
設定 スキル呼び出しごとに不要な設定ファイル書き込みが発生しパフォーマンス低下・Windows での設定破損が起きていた問題を修正
パフォーマンス 長いトランスクリプトで /feedback 使用時に OOM クラッシュが発生する可能性を修正
MCP --bare モードでインタラクティブセッションの MCP ツールが欠落し、ターン中にエンキューされたメッセージが破棄される問題を修正
OAuth OAuth ログイン URL の c ショートカットが約 20 文字しかコピーしないバグを修正
UI マスク入力(OAuth コードのペースト)で狭いターミナルで折り返す際にトークンの先頭が漏洩するバグを修正
プラグイン v2.1.83 以降 macOS/Linux で公式マーケットプレイスのプラグインスクリプトが "Permission denied" で失敗するバグを修正
プラグイン /plugin アンインストールダイアログで n を押すと誤って削除される操作ミスを修正
ステータスライン 複数の Claude Code インスタンス起動時に別セッションのモデルが表示される問題を修正
スクロール 長い会話の末尾でホイールスクロールまたはクリック後に新しいメッセージが追従されなくなる問題を修正

v2.1.87

  • Cowork Dispatch でメッセージが配信されないバグを修正

v2.1.85

分類 内容
/compact 会話が compact リクエスト自体に収まらないほど大きくなった場合の "context exceeded" 失敗を修正
プラグイン /plugin enable / /plugin disable でインストール場所と設定上の場所が異なる場合に失敗する問題を修正
--worktree Git リポジトリでないディレクトリで WorktreeCreate フックが動作する前にエラー終了するバグを修正
MCP deniedMcpServers 設定が claude.ai MCP サーバーをブロックしない問題を修正
コンピュータ使用 マルチモニタ環境で switch_display が "not available in this session" を返すバグを修正
OpenTelemetry OTEL_LOGS_EXPORTER / OTEL_METRICS_EXPORTER / OTEL_TRACES_EXPORTERnone に設定した際のクラッシュを修正
MCP OAuth リフレッシュトークンが存在する場合に 403 insufficient_scope による再認可フローが正しく動作しないバグを修正
ターミナル SSH や VS Code 統合ターミナルで生のキーシーケンスがプロンプトに表示される問題を修正
ターミナル Ghostty / Kitty / WezTerm 等で終了後に enhanced keyboard mode が残存する問題を修正
スクロール ストリーミング中にスクロールアップした際に古いコンテンツが残って見える問題を修正

📋 バージョン別サマリー

バージョン 主なトピック
v2.1.85 フック強化(条件 ifAskUserQuestion 対応)、MCP OAuth RFC 9728、パフォーマンス改善
v2.1.86 X-Claude-Code-Session-Id ヘッダー、VCS 除外拡張(.jj/.sl)、Read ツール最適化
v2.1.87 Cowork Dispatch メッセージ配信バグ修正
v2.1.89 "defer" 権限、PermissionDenied フック、CLAUDE_CODE_NO_FLICKER、多数のバグ修正

Note: v2.1.88 は CHANGELOG に記載がないためスキップされています。


まとめ

v2.1.85〜v2.1.89 では、以下の点が特に注目です。

  1. フックシステムの成熟: "defer" による中断・再開、PermissionDenied フック、条件 if フィールドと、ヘッドレス自動化に不可欠な機能が揃ってきました
  2. MCP の安定性向上: タイムアウト管理・非ブロッキング接続・OAuth 改善により、外部ツール連携がより堅牢になっています
  3. クロスプラットフォームの品質向上: Windows(CRLF・PowerShell)、macOS(音声・ディープリンク)、各種ターミナルエミュレータ固有の問題が多数解消されました

今後のリリースノートも継続してまとめていきます。


参考

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?