0
0

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-86で何が変わった?hookの新機能と主要バグ修正まとめ

0
Posted at

Claude Code v2.1.85(3/26)とv2.1.86(3/27)がリリースされた。hookを使っている人には重要な変更が複数含まれている。

v2.1.85: hookの大幅強化

1. ifフィールド — hookの条件付き実行

hookにifフィールドが追加され、特定の条件下でのみhookを実行できるようになった。

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Bash",
      "if": "git push",
      "hooks": [{"type": "command", "command": "bash ~/.claude/hooks/push-guard.sh"}]
    }]
  }
}

効果: 全てのBashコマンドでhookが起動していた問題を解消。lscatのような無害なコマンドではhookプロセスが起動しなくなり、パフォーマンスが向上する。

詳細: hookのifフィールドで不要なプロセス起動をゼロにする

2. updatedInput — hookからツール入力を書き換え

PreToolUseフックがupdatedInputを返すことで、ツールに渡される入力を動的に変更できるようになった。

# 例: fish shellでコマンドを実行するように書き換え
jq -n --arg cmd "fish -c '$COMMAND'" '{
  hookSpecificOutput: {
    hookEventName: "PreToolUse",
    permissionDecision: "allow",
    updatedInput: { command: $cmd }
  }
}'

使用例:

  • AskUserQuestionへの自動回答(updatedInput.answers
  • コマンドのシェルラッパー(bash→fish/zsh)
  • 入力のサニタイズ

3. AskUserQuestionマッチャー

PreToolUseフックでAskUserQuestionをマッチャーに指定できるようになった。Claude Codeが質問する前にhookが割り込み、自動回答を返せる。

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "AskUserQuestion",
      "hooks": [{"type": "command", "command": "bash ~/.claude/hooks/auto-answer.sh"}]
    }]
  }
}

注意: AskUserQuestionのスキーマは questions 配列 + answers オブジェクト。単数形のquestion/answerではない。

v2.1.86: バグ修正中心

主要な修正

修正 影響
--resumeが「tool_use ids without tool_result」エラーで失敗 v2.1.85より前のセッションを再開できなかった問題が解消
プラグインのhookスクリプトに実行権限が付かない(macOS/Linux) v2.1.83以降でプラグインhookがPermission deniedになっていた
@ファイル参照のJSONエスケープ除去 トークン消費が減少
メモリリーク(マークダウンレンダーキャッシュ) 長時間セッションのメモリ増加が緩和
Bedrock/Vertex/Foundryのキャッシュヒット率改善 動的コンテンツをツール説明から除去
VSCodeで「Not responding」が不正に表示 長時間操作中の誤表示が解消
VSCode Maxプランで8時間後にSonnetに切り替わる OAuthトークン更新時にデフォルトモデルにフォールバックしていた
Auto modeが「temporarily unavailable」と表示 プラン制限時の表示を「unavailable for your plan」に変更

開発者向け変更

  • X-Claude-Code-Session-IdヘッダーがAPIリクエストに追加 — プロキシでセッション単位の集計が可能に
  • .jj/.slがVCS除外に追加 — Jujutsu/Sapling ユーザー向け
  • Skill説明が250文字に制限 — コンテキスト使用量を削減
  • Readツールがコンパクトな行番号フォーマットを使用 — トークン節約

アップデート方法

npm update -g @anthropic-ai/claude-code
claude --version  # 2.1.86

hookユーザーへのアクション

  1. ifフィールドの導入を検討 — hookが10個以上ある場合、不要な起動を減らせる
  2. AskUserQuestion対応hookの追加 — 自律運用で「質問で止まる」問題を解消
  3. プラグインの実行権限確認 — v2.1.83-85で壊れていた可能性あり(chmod +xで修復)

📌 関連記事:

🛡 658個のhook例をワンコマンドで: npx cc-safe-setup — if対応hook、auto-answer、fish-wrapperも収録。14,096テストで検証済み。

v2.1.85のif機能、もう使っていますか?

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?