🚀

【2026/1/8最新アプデ】Claude Code 2.1.0の重要変更点を触ってみた

に公開

はじめに

2026/1/8、Claude Codeは2.0.76から2.1.0(2.1.1)となりました。

Xで事前に話題となっていた通り、年明け早々大量のアップデートが降ってきました。
全部をしっかり理解するのは時間もかかるので、優先順位付けて確認した方が良さそうです。
本記事では重要変更点を紹介します。

想定読者

  • Claude Codeの最新情報をキャッチアップし、開発に活かしたい方

アップデート全文

参考までに、109箇所の変更全文を貼ります。
この記事では要約と解説をするため、全てに目を通す必要はありません。

CHANGELOG.mdの全文です

引用:https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
見づらいので、行番号のみ付与しています。

2.1.0

  1. Added automatic skill hot-reload - skills created or modified in ~/.claude/skills or .claude/skills are now immediately available without restarting the session
  2. Added support for running skills and slash commands in a forked sub-agent context using context: fork in skill frontmatter
  3. Added support for agent field in skills to specify agent type for execution
  4. Added language setting to configure Claude's response language (e.g., language: "japanese")
  5. Changed Shift+Enter to work out of the box in iTerm2, WezTerm, Ghostty, and Kitty without modifying terminal configs
  6. Added respectGitignore support in settings.json for per-project control over @-mention file picker behavior
  7. Added IS_DEMO environment variable to hide email and organization from the UI, useful for streaming or recording sessions
  8. Fixed security issue where sensitive data (OAuth tokens, API keys, passwords) could be exposed in debug logs
  9. Fixed files and skills not being properly discovered when resuming sessions with -c or --resume
  10. Fixed pasted content being lost when replaying prompts from history using up arrow or Ctrl+R search
  11. Fixed Esc key with queued prompts to only move them to input without canceling the running task
  12. Reduced permission prompts for complex bash commands
  13. Fixed command search to prioritize exact and prefix matches on command names over fuzzy matches in descriptions
  14. Fixed PreToolUse hooks to allow updatedInput when returning ask permission decision, enabling hooks to act as middleware while still requesting user consent
  15. Fixed plugin path resolution for file-based marketplace sources
  16. Fixed LSP tool being incorrectly enabled when no LSP servers were configured
  17. Fixed background tasks failing with "git repository not found" error for repositories with dots in their names
  18. Fixed Claude in Chrome support for WSL environments
  19. Fixed Windows native installer silently failing when executable creation fails
  20. Improved CLI help output to display options and subcommands in alphabetical order for easier navigation
  21. Added wildcard pattern matching for Bash tool permissions using * at any position in rules (e.g., Bash(npm *), Bash(* install), Bash(git * main))
  22. Added unified Ctrl+B backgrounding for both bash commands and agents - pressing Ctrl+B now backgrounds all running foreground tasks simultaneously
  23. Added support for MCP list_changed notifications, allowing MCP servers to dynamically update their available tools, prompts, and resources without requiring reconnection
  24. Added /teleport and /remote-env slash commands for claude.ai subscribers, allowing them to resume and configure remote sessions
  25. Added support for disabling specific agents using Task(AgentName) syntax in settings.json permissions or the --disallowedTools CLI flag
  26. Added hooks support to agent frontmatter, allowing agents to define PreToolUse, PostToolUse, and Stop hooks scoped to the agent's lifecycle
  27. Added hooks support for skill and slash command frontmatter
  28. Added new Vim motions: ; and , to repeat f/F/t/T motions, y operator for yank with yy/Y, p/P for paste, text objects (iw, aw, iW, aW, i", a", i', a', i(, a(, i[, a[, i{, a{), >> and << for indent/dedent, and J to join lines
  29. Added /plan command shortcut to enable plan mode directly from the prompt
  30. Added slash command autocomplete support when / appears anywhere in input, not just at the beginning
  31. Added --tools flag support in interactive mode to restrict which built-in tools Claude can use during interactive sessions
  32. Added CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS environment variable to override the default file read token limit
  33. Added support for once: true config for hooks
  34. Added support for YAML-style lists in frontmatter allowed-tools field for cleaner skill declarations
  35. Added support for prompt and agent hook types from plugins (previously only command hooks were supported)
  36. Added Cmd+V support for image paste in iTerm2 (maps to Ctrl+V)
  37. Added left/right arrow key navigation for cycling through tabs in dialogs
  38. Added real-time thinking block display in Ctrl+O transcript mode
  39. Added filepath to full output in background bash task details dialog
  40. Added Skills as a separate category in the context visualization
  41. Fixed OAuth token refresh not triggering when server reports token expired but local expiration check disagrees
  42. Fixed session persistence getting stuck after transient server errors by recovering from 409 conflicts when the entry was actually stored
  43. Fixed session resume failures caused by orphaned tool results during concurrent tool execution
  44. Fixed a race condition where stale OAuth tokens could be read from the keychain cache during concurrent token refresh attempts
  45. Fixed AWS Bedrock subagents not inheriting EU/APAC cross-region inference model configuration, causing 403 errors when IAM permissions are scoped to specific regions
  46. Fixed API context overflow when background tasks produce large output by truncating to 30K chars with file path reference
  47. Fixed a hang when reading FIFO files by skipping symlink resolution for special file types
  48. Fixed terminal keyboard mode not being reset on exit in Ghostty, iTerm2, Kitty, and WezTerm
  49. Fixed Alt+B and Alt+F (word navigation) not working in iTerm2, Ghostty, Kitty, and WezTerm
  50. Fixed ${CLAUDE_PLUGIN_ROOT} not being substituted in plugin allowed-tools frontmatter, which caused tools to incorrectly require approval
  51. Fixed files created by the Write tool using hardcoded 0o600 permissions instead of respecting the system umask
  52. Fixed commands with $() command substitution failing with parse errors
  53. Fixed multi-line bash commands with backslash continuations being incorrectly split and flagged for permissions
  54. Fixed bash command prefix extraction to correctly identify subcommands after global options (e.g., git -C /path log now correctly matches Bash(git log:*) rules)
  55. Fixed slash commands passed as CLI arguments (e.g., claude /context) not being executed properly
  56. Fixed pressing Enter after Tab-completing a slash command selecting a different command instead of submitting the completed one
  57. Fixed slash command argument hint flickering and inconsistent display when typing commands with arguments
  58. Fixed Claude sometimes redundantly invoking the Skill tool when running slash commands directly
  59. Fixed skill token estimates in /context to accurately reflect frontmatter-only loading
  60. Fixed subagents sometimes not inheriting the parent's model by default
  61. Fixed model picker showing incorrect selection for Bedrock/Vertex users using --model haiku
  62. Fixed duplicate Bash commands appearing in permission request option labels
  63. Fixed noisy output when background tasks complete - now shows clean completion message instead of raw output
  64. Fixed background task completion notifications to appear proactively with bullet point
  65. Fixed forked slash commands showing "AbortError" instead of "Interrupted" message when cancelled
  66. Fixed cursor disappearing after dismissing permission dialogs
  67. Fixed /hooks menu selecting wrong hook type when scrolling to a different option
  68. Fixed images in queued prompts showing as "[object Object]" when pressing Esc to cancel
  69. Fixed images being silently dropped when queueing messages while backgrounding a task
  70. Fixed large pasted images failing with "Image was too large" error
  71. Fixed extra blank lines in multiline prompts containing CJK characters (Japanese, Chinese, Korean)
  72. Fixed ultrathink keyword highlighting being applied to wrong characters when user prompt text wraps to multiple lines
  73. Fixed collapsed "Reading X files…" indicator incorrectly switching to past tense when thinking blocks appear mid-stream
  74. Fixed Bash read commands (like ls and cat) not being counted in collapsed read/search groups, causing groups to incorrectly show "Read 0 files"
  75. Fixed spinner token counter to properly accumulate tokens from subagents during execution
  76. Fixed memory leak in git diff parsing where sliced strings retained large parent strings
  77. Fixed race condition where LSP tool could return "no server available" during startup
  78. Fixed feedback submission hanging indefinitely when network requests timeout
  79. Fixed search mode in plugin discovery and log selector views exiting when pressing up arrow
  80. Fixed hook success message showing trailing colon when hook has no output
  81. Multiple optimizations to improve startup performance
  82. Improved terminal rendering performance when using native installer or Bun, especially for text with emoji, ANSI codes, and Unicode characters
  83. Improved performance when reading Jupyter notebooks with many cells
  84. Improved reliability for piped input like cat refactor.md | claude
  85. Improved reliability for AskQuestion tool
  86. Improved sed in-place edit commands to render as file edits with diff preview
  87. Improved Claude to automatically continue when response is cut off due to output token limit, instead of showing an error message
  88. Improved compaction reliability
  89. Improved subagents (Task tool) to continue working after permission denial, allowing them to try alternative approaches
  90. Improved skills to show progress while executing, displaying tool uses as they happen
  91. Improved skills from /skills/ directories to be visible in the slash command menu by default (opt-out with user-invocable: false in frontmatter)
  92. Improved skill suggestions to prioritize recently and frequently used skills
  93. Improved spinner feedback when waiting for the first response token
  94. Improved token count display in spinner to include tokens from background agents
  95. Improved incremental output for async agents to give the main thread more control and visibility
  96. Improved permission prompt UX with Tab hint moved to footer, cleaner Yes/No input labels with contextual placeholders
  97. Improved the Claude in Chrome notification with shortened help text and persistent display until dismissed
  98. Improved macOS screenshot paste reliability with TIFF format support
  99. Improved /stats output
  100. Updated Atlassian MCP integration to use a more reliable default configuration (streamable HTTP)
  101. Changed "Interrupted" message color from red to grey for a less alarming appearance
  102. Removed permission prompt when entering plan mode - users can now enter plan mode without approval
  103. Removed underline styling from image reference links
  104. [SDK] Changed minimum zod peer dependency to ^4.0.0
  105. [VSCode] Added currently selected model name to the context menu
  106. [VSCode] Added descriptive labels on auto-accept permission button (e.g., "Yes, allow npm for this project" instead of "Yes, and don't ask again")
  107. [VSCode] Fixed paragraph breaks not rendering in markdown content
  108. [VSCode] Fixed scrolling in the extension inadvertently scrolling the parent iframe
  109. [Windows] Fixed issue with improper rendering

要約

長過ぎるので、Claude Codeに要約させました。
全アップデートを

  • 🔴 非常に重要(新機能・大幅な改善)
  • 🟠 重要(便利な改善)
  • 🟡 中程度(品質向上・UX改善)
  • 🟢 重要なバグ修正(セキュリティ含む)

のいずれかにカテゴライズさせました。

---(ここからClaude Codeによる要約)---

🔴 非常に重要(新機能・大幅な改善)

内容
1 スキルのホットリロード対応 - ~/.claude/skills.claude/skills のスキルが再起動なしで即座に利用可能に
2 スキル/スラッシュコマンドのフォーク実行(context: fork)対応
3 スキルにagentフィールド追加(実行エージェント種別指定)
4 言語設定機能追加(language: "japanese" など)
21 Bashツール権限にワイルドカードパターン対応(Bash(npm *)Bash(* install) など)
22 Ctrl+B統合バックグラウンド化 - bashコマンドとエージェント両方を同時にバックグラウンド化
23 MCPのlist_changed通知対応 - 再接続なしでツール/プロンプト/リソースを動的更新
24 /teleport/remote-env コマンド追加(claude.ai購読者向けリモートセッション機能)
25 特定エージェントの無効化対応(Task(AgentName) 構文)
26-27 エージェント/スキル/スラッシュコマンドのフロントマターにhooks対応
28 新Vimモーション多数追加(;, y, p, テキストオブジェクト, >>, J など)
31 インタラクティブモードで--toolsフラグ対応(利用ツール制限)
32 CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS 環境変数追加
33 hooks設定に once: true 対応

🟠 重要(便利な改善)

内容
5 Shift+Enter がiTerm2/WezTerm/Ghostty/Kittyで設定変更なしで動作
6 respectGitignore 設定追加(@メンションファイルピッカー制御)
7 IS_DEMO 環境変数追加(配信/録画時にメール・組織名を非表示)
12 複雑なbashコマンドの権限プロンプト削減
29 /plan コマンドショートカット追加
30 スラッシュコマンド補完が入力中どこでも動作
34 フロントマターのallowed-toolsフィールドでYAML形式リスト対応
35 プラグインからprompt/agentフックタイプ対応
36 iTerm2でCmd+Vによる画像ペースト対応
37 ダイアログ内タブの左右矢印キーナビゲーション
38 Ctrl+Oトランスクリプトモードでリアルタイム思考ブロック表示
39 バックグラウンドbashタスク詳細にファイルパス追加
40 コンテキスト可視化でSkillsを独立カテゴリ化
86 sed in-place編集コマンドをdiffプレビュー付きファイル編集として表示
87 出力トークン制限での切断時、エラー表示ではなく自動継続
89 サブエージェントが権限拒否後も代替アプローチを試行可能に
90 スキル実行中の進捗表示(ツール使用をリアルタイム表示)
91 /skills/ディレクトリのスキルがスラッシュコマンドメニューに表示
102 プランモード開始時の権限プロンプト廃止

🟡 中程度(品質向上・UX改善)

内容
13 コマンド検索で完全/前方一致を優先
20 CLIヘルプ出力をアルファベット順に整理
81 起動パフォーマンス最適化(複数)
82 ネイティブインストーラー/Bun使用時のターミナル描画性能向上
83 多数セルのJupyterノートブック読込性能向上
84 パイプ入力の信頼性向上(cat refactor.md | claude
85 AskQuestionツールの信頼性向上
88 コンパクション信頼性向上
92 スキル提案で最近/頻繁に使用したスキルを優先
93 最初のレスポンストークン待機時のスピナーフィードバック改善
94 スピナーのトークン数表示にバックグラウンドエージェント分を含める
95 非同期エージェントの増分出力改善
96 権限プロンプトUX改善(Tabヒントをフッターに移動、Yes/Noラベル整理)
97 Claude in Chrome通知のヘルプテキスト短縮・永続表示
98 macOSスクリーンショットペースト信頼性向上(TIFF対応)
99 /stats出力改善
100 Atlassian MCP統合のデフォルト設定改善
101 「Interrupted」メッセージを赤からグレーに変更
103 画像参照リンクの下線スタイル削除
104 [SDK] zod peer依存を^4.0.0に変更
105 [VSCode] コンテキストメニューに選択中モデル名表示
106 [VSCode] 自動承認ボタンに説明ラベル追加

🟢 重要なバグ修正(セキュリティ含む)

内容
8 🔒 セキュリティ: デバッグログでOAuthトークン/APIキー/パスワードが露出する問題を修正
9 -c/--resumeでセッション再開時にファイル/スキルが検出されない問題修正
10 履歴再生時にペースト内容が失われる問題修正
11 Escキーでキュー済みプロンプト移動時に実行中タスクがキャンセルされる問題修正
14 PreToolUseフックでask権限決定時にupdatedInputを許可
15 ファイルベースマーケットプレースソースのプラグインパス解決修正
16 LSPサーバー未設定時にLSPツールが誤って有効になる問題修正
17 ドット含むリポジトリ名でバックグラウンドタスクが失敗する問題修正
18 WSL環境でのClaude in Chrome対応修正
19 Windows nativeインストーラーが実行ファイル作成失敗時に静かに失敗する問題修正
41 OAuthトークンリフレッシュがローカル有効期限チェックと不一致時にトリガーされない問題修正
42 一時的なサーバーエラー後にセッション永続化が停止する問題修正(409コンフリクト回復)
43 並行ツール実行中の孤立ツール結果によるセッション再開失敗修正
44 並行トークンリフレッシュ時の古いOAuthトークン読込競合状態修正
45 AWS Bedrockサブエージェントが EU/APAC クロスリージョン推論モデル設定を継承しない問題修正
46 バックグラウンドタスクの大出力時のAPIコンテキストオーバーフロー修正(30K文字に切り詰め)
47 FIFOファイル読込時のハング修正
48 Ghostty/iTerm2/Kitty/WezTermで終了時にターミナルキーボードモードがリセットされない問題修正
49 iTerm2/Ghostty/Kitty/WezTermでAlt+B/Alt+F(単語ナビ)が動作しない問題修正
50 プラグインallowed-tools${CLAUDE_PLUGIN_ROOT}が置換されない問題修正
51 Writeツールが0o600固定ではなくシステムumaskを尊重するように修正
52 $()コマンド置換を含むコマンドがパースエラーになる問題修正
53 バックスラッシュ継続の複数行bashコマンドが誤って分割される問題修正
54 グローバルオプション後のサブコマンド認識修正(git -C /path logBash(git log:*)
55 CLI引数で渡したスラッシュコマンドが正しく実行されない問題修正
56 Tab補完後にEnterで別コマンドが選択される問題修正
57 引数付きスラッシュコマンドのヒント表示がちらつく問題修正
58 スラッシュコマンド直接実行時にSkillツールが冗長に呼び出される問題修正
59 /contextでのスキルトークン見積もり修正
60 サブエージェントが親のモデルをデフォルト継承しないことがある問題修正
61 Bedrock/Vertexで--model haiku使用時のモデルピッカー表示修正
62 権限要求オプションラベルに重複Bashコマンドが表示される問題修正
63 バックグラウンドタスク完了時のノイズ出力修正
64 バックグラウンドタスク完了通知を箇条書きで積極的に表示
65 フォークスラッシュコマンドキャンセル時に「AbortError」ではなく「Interrupted」表示
66 権限ダイアログ解除後にカーソルが消える問題修正
67 /hooksメニューでスクロール時に誤ったフックタイプが選択される問題修正
68 Escキャンセル時にキュー済みプロンプトの画像が「[object Object]」と表示される問題修正
69 タスクバックグラウンド化時にキュー済みメッセージの画像が無言で消える問題修正
70 大きなペースト画像が「Image was too large」エラーになる問題修正
71 CJK文字(日本語/中国語/韓国語)を含む複数行プロンプトの余分な空行修正
72 ultrathinkキーワードハイライトが複数行折り返し時に誤った文字に適用される問題修正
73 思考ブロック出現時に「Reading X files…」表示が誤って過去形になる問題修正
74 Bash読込コマンド(ls/cat)が折りたたみ読込グループでカウントされない問題修正
75 スピナートークンカウンターがサブエージェントからのトークンを累積するよう修正
76 git diff解析でスライス文字列が大きな親文字列を保持するメモリリーク修正
77 起動時にLSPツールが「no server available」を返す競合状態修正
78 ネットワークタイムアウト時にフィードバック送信が無限にハングする問題修正
79 プラグイン検索/ログ選択で上矢印押下時に検索モードが終了する問題修正
80 フック成功メッセージで出力がない場合に末尾コロンが表示される問題修正
107 [VSCode] マークダウンコンテンツで段落区切りが描画されない問題修正
108 [VSCode] 拡張機能内スクロールが親iframeをスクロールしてしまう問題修正
109 [Windows] 不適切な描画の問題修正

📊 サマリー

カテゴリ 件数
🔴 非常に重要 16件
🟠 重要 20件
🟡 中程度 25件
🟢 バグ修正 48件

特に注目すべき変更

  • セキュリティ修正(行8): デバッグログでの機密情報露出は必ず確認を
  • スキルのホットリロード(行1): 開発体験が大幅に向上
  • Vimモーション拡充(行28): Vimユーザーの操作性が飛躍的に向上
  • 言語設定(行4): 日本語ユーザーに朗報
  • プランモードの権限プロンプト廃止(行102): ワークフローがスムーズに

---(ここまでClaude Codeによる要約)---

順番に確認

「🔴 非常に重要(新機能・大幅な改善)」に限って解説します。

🔴 非常に重要(新機能・大幅な改善)

内容
1 スキルのホットリロード対応 - ~/.claude/skills.claude/skills のスキルが再起動なしで即座に利用可能に
2 スキル/スラッシュコマンドのフォーク実行(context: fork)対応
3 スキルにagentフィールド追加(実行エージェント種別指定)
4 言語設定機能追加(language: "japanese" など)
21 Bashツール権限にワイルドカードパターン対応(Bash(npm *)Bash(* install) など)
22 Ctrl+B統合バックグラウンド化 - bashコマンドとエージェント両方を同時にバックグラウンド化
23 MCPのlist_changed通知対応 - 再接続なしでツール/プロンプト/リソースを動的更新
24 /teleport/remote-env コマンド追加(claude.ai購読者向けリモートセッション機能)
25 特定エージェントの無効化対応(Task(AgentName) 構文)
26-27 エージェント/スキル/スラッシュコマンドのフロントマターにhooks対応
28 新Vimモーション多数追加(;, y, p, テキストオブジェクト, >>, J など)
31 インタラクティブモードで--toolsフラグ対応(利用ツール制限)
32 CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS 環境変数追加
33 hooks設定に once: true 対応

[1] スキルのホットリロード対応

スキルのホットリロード対応 - ~/.claude/skills.claude/skills のスキルが再起動なしで即座に利用可能に

原文:

  • Added automatic skill hot-reload - skills created or modified in ~/.claude/skills or .claude/skills are now immediately available without restarting the session

エージェントスキルがホットリロードに対応。
スキルを作成したり変更した際に、セッション再起動せずとも即座に利用できるようになりました。
地味に便利。

[2] スキル/スラッシュコマンドのフォーク実行

スキル/スラッシュコマンドのフォーク実行(context: fork)対応

原文:

  • Added support for running skills and slash commands in a forked sub-agent context using context: fork in skill frontmatter

エージェントスキルカスタムスラッシュコマンドにおいて、context: forkと指定することで、サブエージェントに委譲できるようになりました。

フロントマターで

SKILL.md
  ---
  name: my-skill
  description: 何かを実行するスキル
  context: fork
  ---

と指定するとサブエージェントで実行されるので、メインエージェントのコンテキストを汚さず処理できます。ログ調査やレビュー等で活躍しそうです。

[3] スキルにagentフィールド追加

スキルにagentフィールド追加(実行エージェント種別指定)

原文:

  • Added support for agent field in skills to specify agent type for execution

エージェントスキルのフロントマターで、agent指定ができるようになりました。

フロントマターで

SKILL.md
  ---
  name: my-skill
  description: 何かを実行するスキル
  agent: sub-agent
  ---

と指定すると、どのサブエージェントで実行するか指定できます。
前述のcontext: forkとの組み合わせが基本になりそうですね。

[4] 言語設定機能追加(language: "japanese" など)

言語設定機能追加(language: "japanese" など)

原文:

  • Added language setting to configure Claude's response language (e.g., language: "japanese")

日本語設定ができるようになりました。
今まではCLAUDE.mdに「やり取りは日本語で」と指定していましたが、今後は~/.claude/settings.json.claude/settings.jsonに指定するのが一般化しそうですね。

~/.claude/settings.json
{
  "language": "japanese"
}
設定前 設定後

[21] Bashツール権限にワイルドカードパターン対応

Bashツール権限にワイルドカードパターン対応(Bash(npm *)Bash(* install) など)

原文:

  • Added wildcard pattern matching for Bash tool permissions using * at any position in rules (e.g., Bash(npm *), Bash(* install), Bash(git * main))

こういう指定ができるようになった、ということですね。より柔軟に制御できそうです。

{
  "permissions": {
    "allow": [],
    "deny": [],
    "ask": [
      "Bash(* install)"
    ]
  }
}

[22] Ctrl+B統合バックグラウンド化

Ctrl+B統合バックグラウンド化 - bashコマンドとエージェント両方を同時にバックグラウンド化

原文:

  • Added unified Ctrl+B backgrounding for both bash commands and agents - pressing Ctrl+B now backgrounds all running foreground tasks simultaneously

Ctrl+bでバックグラウンドに突っ込めます。
例えば
!npm run devからCtrl+bを実行することで、バックグラウンド実行が可能です。
!から始まるプロンプトはbashコマンドとして実行されます

並列開発が捗りますね。

[23] MCPのlist_changed通知対応

MCPのlist_changed通知対応 - 再接続なしでツール/プロンプト/リソースを動的更新

原文:

  • Added support for MCP list_changed notifications, allowing MCP servers to dynamically update their available tools, prompts, and resources without requiring reconnection

MCPを再接続せずとも、動的に更新されるようになったようです。
日々あまり意識することはなさそうですね。

[24] /teleport/remote-env コマンド追加

/teleport/remote-env コマンド追加(claude.ai購読者向けリモートセッション機能)

/remote-env コマンドは追加されていますが、/teleportコマンドは未実装のようです。
(local CLI, on the web, Claude Desktop全てで未実装を確認済み)
これが実装されれば、LocalのClaude CodeとClaude Code on the webの行き来がより柔軟にできるようになりそうです。

[25] 特定エージェントの無効化対応(Task(AgentName) 構文)

特定エージェントの無効化対応(Task(AgentName) 構文)

原文:

  • Added support for disabling specific agents using Task(AgentName) syntax in settings.json permissions or the --disallowedTools CLI flag

こんな感じに設定できます。

~/.claude/settings.json
  {
    "permissions": {
      "disallowedTools": [
        "Task(Bash)",
        "Task(Explore)"
      ]
    }
  }

もしくは起動時にも指定できます。

  claude --disallowedTools "Task(Bash),Task(Explore)"

ちなみにプラグインや自作サブエージェントの場合、常時利用しないなら削除・アンインストールした方が良いです。
もし一時的にOFFにしたい場合は起動時のフラグ指定が良さそうですね。
settings.jsonに追記するパターンは、デフォルトのエージェントを無効化したい場合などでしょうか。

プリセットのエージェントは以下の通りです。

  • Bash · inherit
  • general-purpose · sonnet
  • statusline-setup · sonnet
  • Explore · haiku
  • Plan · inherit
  • claude-code-guide · haiku

例えば、エージェント無効化をしていない状態で以下プロンプトを投げてみます。

❯ スラッシュコマンドの仕様について調べて 

⏺ Claude Codeのスラッシュコマンドの仕様について調査します。

  claude-code-guide(スラッシュコマンド仕様調査)
  ⎿  ❯ Claude Codeのスラッシュコマンド(slash commands)の仕様について詳しく調査してください。以下の点を含めてください:

次に、claude --disallowedTools "Task(claude-code-guide)"
と指定し、Claude Codeガイドのサブエージェントを無効化して同じプロンプトを投げてみます。

❯ スラッシュコマンドの仕様について調べて 

⏺ スラッシュコマンド(スキル)の仕様について調査します。

⏺ Explore(スキル仕様ファイルを探索)
  ⎿  ❯ Claude Codeのスラッシュコマンド(スキル)の仕様を調査してください。以下を探してください:  

サブエージェントが使わないことを確認できました。

[26-27] エージェント/スキル/スラッシュコマンドのフロントマターにhooks対応

エージェント/スキル/スラッシュコマンドのフロントマターにhooks対応

原文:

  • Added hooks support to agent frontmatter, allowing agents to define PreToolUse, PostToolUse, and Stop hooks scoped to the agent's lifecycle
  • Added hooks support for skill and slash command frontmatter

エージェントスキルカスタムスラッシュコマンドにおいて、フックが利用可能となりました。

公式ドキュメントより指定方法を引用します。

---
name: secure-operations
description: Perform operations with additional security checks
hooks:
  PreToolUse:
    - matcher: "Bash"
      hooks:
        - type: command
          command: "./scripts/security-check.sh $TOOL_INPUT"
          once: true  # Optional: only run once per session
---

この機能、ちゃんと使えればかなり革新的と感じています。LLMは特性上確率的な動作をします。エージェント/スキル/スラッシュコマンドの中で「◯◯を使って」「◯◯を実行して」と明記してあっても、無視されることがままあります。hooksをちゃんと使いこなすことができれば、漏れなく定型ワークフローを構築できるため、要注目です。

[28] 新Vimモーション多数追加

新Vimモーション多数追加(;, y, p, テキストオブジェクト, >>, J など)

原文:

  • Added new Vim motions: ; and , to repeat f/F/t/T motions, y operator for yank with yy/Y, p/P for paste, text objects (iw, aw, iW, aW, i", a", i', a', i(, a(, i[, a[, i{, a{), >> and << for indent/dedent, and J to join lines

Claude Codeは/vimでvimモードに切り替え可能です。
例えばvimモードに切り替えた後に文字を打ち、yy3pと入力すればメッセージが3行ペーストされます。

個人的に長年Vimを使ってきたので、このアプデは非常に嬉しいです。

[31] インタラクティブモードで--toolsフラグ対応

インタラクティブモードで--toolsフラグ対応(利用ツール制限)

Claude Codeを立ち上げる際、特定のツールのみ利用できる設定が可能です。
例えばRead onlyで立ち上げてみましょう。

claude --tools Read,Glob,Grep

❯ @hoge.txt を適当な内容に変更して 
  ⎿  Read hoge.txt (3 lines)

⏺ ファイルの内容を適当なサンプルテキストに変更します。

⏺ 申し訳ありません。現在の環境ではファイルを編集・書き込みするためのツール(Write、Edit、Bash等)が利用できません。ファイルの読み取り(Read)と検索(Glob、Grep)のみ可能な状態です。

  ファイルを変更するには、以下の方法をお試しください:
...

Read onlyにするだけならPlanモードでも良いのですが、こちらの方がセッションが継続している限り絶対に使われることがないのでより安全ですね。
他にも、特定ツールに限った操作にしたい場合に便利です。

[32] CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS 環境変数追加

CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS 環境変数追加

  • Added CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS environment variable to override the default file read token limit

CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS 環境変数を設定することで、デフォルトのファイル読み込みのトークン上限を変更することが可能です。
大容量ファイルを読むことも可能ですが、逆に制限を小さくすることで、無駄にトークンを消費してしまうことを抑制することも可能になります。

[33] hooks設定に once: true 対応

hooks設定に once: true 対応

  • Added support for once: true config for hooks

いろいろ使い道はありそうですが、例えばこんな使い方もできそうですね。

ファイルの変更をする前に、ブランチ切っているか確認させる

  {
    "hooks": {
      "PreToolUse": [
        {
          "matcher": "Edit|Write",
          "hooks": [
            {
              "type": "prompt",
              "prompt": "ファイル変更前の確認: 現在のgitブランチと変更内容を確認し、main/developブランチで作業中なら新しいブランチ作成を推奨してください。$ARGUMENTS"
            }
          ],
          "once": true
        }
      ]
    }
  }

チーム開発ですぐに取り入れると良さそうな機能

  • [2] スキル/スラッシュコマンドのフォーク実行
  • [3] スキルにagentフィールド追加
  • [4] 言語設定機能追加(language: "japanese" など)
  • [26-27] エージェント/スキル/スラッシュコマンドのフロントマターにhooks対応

このあたりですね。
自作のプラグインや、リポジトリで自作スキル・コマンドを用意している場合、すぐに対応できそうです。

なお、

[4] 言語設定機能追加(language: "japanese" など)

に関しては慎重な対応が必要で、今すぐCLAUDE.mdから日本語指示を削除するのはオススメしません。
なぜなら

  • Claude Codeのバージョンが2.1.0以上であること
  • ローカル設定でlanguage: "japanese"の設定がしてあること

が揃わないと、英語で返答が返ってくる恐れがあるためです。
個人開発やリポジトリ内の.claude/settings.jsonで定義されていれば問題ないですが、それ以外の場合はすぐにCLAUDE.mdから消してしまうと、他のメンバーが困る可能性があるため注意が必要です。

個人開発ですぐに活用すると良さそうな機能

  • [22] Ctrl+B統合バックグラウンド化
  • [28] 新Vimモーション多数追加

あたりは、Claude CodeやVimに使い慣れている方にオススメです。
最近はClaude Desktopやon the webで並列開発が一般的になってきたのに加え、サブエージェント周りの機能拡張も進んでいます。
単一のメインエージェントに全てを任せる時代は終わりつつあり、タスクを適切にサブエージェントやバックグラウンドに投げて開発することが当たり前になってきていますね。

最後に

Claude Codeのアップデートも落ち着いたか⋯?と思っていたのも束の間、すごい量のアップデートがきましたね。
AI駆動開発におけるClaude Codeの地位は盤石なものになってきていますが、それに加えてこの機能拡張は目を見張るものがあります。

これからも当社カンリーではAIコーディングエージェントの動向を追い、
必要に応じて業務への導入と、外部発信を続けてまいります。

カンリーテックブログ

Discussion