一覧へ戻る v2.1.74

バックナンバー · BACK ISSUE

v2.1.74

2 新機能 2 改善 13 修正 · 17 件の変更

実行可能な /context の提案と autoMemoryDirectory 設定を追加し、ストリーミングバッファのメモリリーク修正、管理ポリシーの ask ルールの適用、MCP OAuth と RTL 描画の修正を含みます。

新機能 Feature 2
  • /context コマンドに実行可能な提案を追加しました。コンテキストを多く使うツール・メモリの肥大化・容量の警告を、具体的な最適化のヒントとともに示します。

    contextcommands

    詳しく
    会話の文脈(コンテキスト)の使用状況を表示する /context コマンドが、具体的な改善提案も示すようになりました。これまでは使用量を表示するだけでしたが、今後はコンテキストを多く消費しているツールやメモリの肥大化、容量不足の警告を見つけ出し、それぞれに最適化のヒントを添えて教えてくれます。長い会話で動作が重くなる人や、コンテキスト切れに悩む人が、どこを削ればよいか判断しやすくなります。
  • 自動メモリの保存先のカスタムディレクトリを設定する autoMemoryDirectory 設定を追加しました。

    contextconfig

    詳しく
    自動メモリ(Claude が会話をまたいで記憶する内容)の保存先ディレクトリを、新しい設定 autoMemoryDirectory で自由に指定できるようになりました。これまでは保存場所が固定でしたが、今後は好きなディレクトリを設定できます。メモリを別の場所で管理したい人や、複数プロジェクトで保存先を分けたい人に便利です。
改善 Improvement 2
  • --plugin-dir を変更し、ローカルの開発コピーが同名のインストール済みマーケットプレイスプラグインを上書きするようにしました(そのプラグインが管理設定で強制有効化されている場合を除く)。

    pluginsenterprise

    詳しく
    --plugin-dir の挙動を変更し、ローカルで開発中のプラグインのコピーが、同じ名前でインストール済みのマーケットプレイスプラグインを上書きするようになりました。ただし、そのプラグインが管理設定によって強制的に有効化されている場合は上書きされません。プラグイン開発者が、配布版を一時的に自分の開発版で差し替えて動作確認したいときに便利です。
  • [VSCode] ターミナルを考慮した加速により、統合ターミナルのスクロールホイールの応答性を改善しました。

    ideui

    詳しく
    [VSCode] 統合ターミナルでのマウスホイールによるスクロールの反応を改善しました。ターミナルの状態を考慮した加速(スクロール量の調整)を取り入れたことで、より滑らかで思いどおりに動くようになります。VS Code 拡張のターミナルを多用する人に体感しやすい改善です。
修正 Fix 13
  • ジェネレータが早期に終了したときにストリーミング API 応答のバッファが解放されず、Node.js/npm のコードパスで RSS が際限なく増加するメモリリークを修正。

    apiperformance

    詳しく
    ストリーミング応答(API からの逐次的な応答)の途中で処理を早期に打ち切った際に、内部のバッファ(一時データ置き場)が解放されず、メモリ使用量が際限なく増え続けるメモリリークを修正しました。これは npm 版(Node.js 上で動くバージョン)で発生し、RSS(プロセスの実メモリ使用量)が膨れ上がっていました。長時間使い続けると Claude Code が大量のメモリを消費していた人に効果があります。
  • 管理ポリシーの ask ルールが、ユーザーの allow ルールやスキルの allowed-tools によってバイパスされる問題を修正。

    permissionsenterpriseskills

    詳しく
    管理者が組織向けに設定する管理ポリシーで「実行前に確認する」とした ask ルールが、ユーザー個人の allow(許可)ルールやスキルの allowed-tools 指定によって無視されてしまう問題を修正しました。これまでは確認を求めるはずの操作が確認なしで通ってしまうことがありましたが、今後は管理ポリシーの ask が正しく優先されます。組織でセキュリティ方針を徹底したい管理者にとって重要な修正です。
  • エージェントのフロントマターの model: フィールドと --agents の JSON 設定で、完全なモデル ID(例: claude-opus-4-5)が無言で無視される問題を修正。エージェントが --model と同じモデル値を受け付けるようになりました。

    agentsmodels

    詳しく
    サブエージェントの設定で、claude-opus-4-5 のような完全なモデル ID を指定しても無言で無視されてしまう問題を修正しました。対象はエージェント定義ファイル冒頭(フロントマター)の model: フィールドと、--agents で渡す JSON 設定です。今後はエージェントでも --model と同じ書き方のモデル指定が受け付けられるため、エージェントごとに使うモデルを正確に指定したい人が意図どおりに設定できます。
  • コールバックポートが既に使用中のとき、MCP の OAuth 認証がハングする問題を修正。

    mcpauth

    詳しく
    MCP サーバーへの OAuth 認証(外部サービスへのログイン認可の仕組み)で、認証完了を受け取るためのコールバックポートが既に他で使われていると、処理が固まって進まなくなる問題を修正しました。これまでは別のアプリがそのポートを占有しているとハングしていましたが、今後は正しく処理されます。MCP サーバーを使っていて認証画面から進めなくなった人に関係します。
  • HTTP 200 でエラーを返す OAuth サーバー(例: Slack)で、リフレッシュトークンの期限切れ後に MCP の OAuth 更新が再認証を一切求めない問題を修正。

    mcpauth

    詳しく
    MCP の OAuth トークン更新で、リフレッシュトークン(再認証なしで認証を延長するための鍵)が期限切れになっても再認証を一切促さない問題を修正しました。原因は、Slack のように本来エラーであっても HTTP 200(成功扱い)で応答するサーバーをエラーと判定できていなかったことです。今後は期限切れを正しく検知して再ログインを求めるため、Slack 連携などで突然認証が効かなくなった人が再認証できるようになります。
  • ターミナルにマイク権限が一度も付与されていないユーザーで、macOS のネイティブバイナリで音声モードが無言で失敗する問題を修正。バイナリに audio-input エンタイトルメントが含まれ、macOS が正しくプロンプトを出すようになりました。

    voicemacos

    詳しく
    macOS のネイティブバイナリ版で、ターミナルにマイク権限を一度も与えていないユーザーだと音声モードが何の表示もなく失敗する問題を修正しました。原因はバイナリにマイク使用の権限(エンタイトルメント)が含まれておらず、macOS が権限の確認ダイアログを出せなかったことです。今後はバイナリに audio-input エンタイトルメントが含まれ、macOS が正しくマイク許可を尋ねるため、音声入力を初めて使う macOS ユーザーがつまずかなくなります。
  • hook.timeout に関係なく、終了時に SessionEnd フックが 1.5 秒で終了させられる問題を修正。CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS で設定できるようになりました。

    hooksconfig

    詳しく
    セッション終了時に実行されるフック(SessionEnd フック)が、hook.timeout の設定に関わらず 1.5 秒で強制終了されてしまう問題を修正しました。これまでは終了処理に時間のかかるフックが途中で打ち切られていましたが、今後は環境変数 CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS で待ち時間を調整できます。終了時にログ保存や後片付けなど時間のかかる処理をフックで実行している人に役立ちます。
  • ローカルソースのマーケットプレイスプラグインで、REPL 内の /plugin install が失敗する問題を修正。

    plugins

    詳しく
    ローカルのソース(自分のマシン上のファイル)を参照するマーケットプレイスのプラグインを、REPL(対話セッション中)から /plugin install でインストールしようとすると失敗する問題を修正しました。今後は対話中でも正しくインストールできます。プラグインを自前で開発・配布していて、対話画面から手早く入れたい人に関係します。
  • マーケットプレイスの更新が git サブモジュールを同期しない問題を修正。サブモジュール内のプラグインソースが更新後に壊れなくなりました。

    plugins

    詳しく
    マーケットプレイスを更新する際に、git のサブモジュール(リポジトリ内に組み込まれた別リポジトリ)が同期されない問題を修正しました。これまではサブモジュール内にあるプラグインのソースが更新後に壊れてしまうことがありましたが、今後は正しく同期されます。サブモジュール構成のマーケットプレイスやプラグインを利用している人に効果があります。
  • 引数付きの未知のスラッシュコマンドが入力を無言で破棄する問題を修正。入力を警告として表示するようになりました。

    commandsui

    詳しく
    存在しないスラッシュコマンドを引数付きで入力したとき、入力内容が何の通知もなく捨てられてしまう問題を修正しました。これまではコマンド名を打ち間違えると、続けて書いた文章ごと黙って消えていましたが、今後は入力した内容が警告として表示されます。コマンドのタイプミスに気づかず指示が無視されていた人が、ミスにすぐ気づけるようになります。
  • ヘブライ語・アラビア語などの RTL テキストが、Windows Terminal・conhost・VS Code 統合ターミナルで正しく描画されない問題を修正。

    uiwindows

    詳しく
    ヘブライ語やアラビア語など、右から左に書く RTL(right-to-left)テキストが正しく表示されない問題を修正しました。対象は Windows Terminal、conhost(Windows 標準のコンソール)、VS Code の統合ターミナルです。これまでは文字の並びが崩れていましたが、今後はこれらの環境で正しく描画されます。Windows でこうした言語を扱う人に関係します。
  • 不正なファイル URI により、Windows で LSP サーバーが動作しない問題を修正。

    idewindows

    詳しく
    不正な形式のファイル URI が原因で、Windows 上で LSP サーバー(コード補完やエラー検出などを提供する言語サーバー)が動作しない問題を修正しました。これまでは URI の組み立てが正しくなく LSP 連携が機能しないことがありましたが、今後は正常に動きます。Windows でコード支援機能を使っている人に効果があります。
  • [VSCode] Untitled のセッションで削除ボタンが効かない問題を修正。

    ideui

    詳しく
    [VSCode] まだ名前の付いていない「Untitled」のセッションで、削除ボタンを押しても効かない問題を修正しました。これまでは無題のセッションを一覧から消せませんでしたが、今後は正しく削除できます。VS Code 拡張でセッションを整理したい人に関係します。
原文 Markdown を表示
## 2.1.74

- Added actionable suggestions to `/context` command — identifies context-heavy tools, memory bloat, and capacity warnings with specific optimization tips
- Added `autoMemoryDirectory` setting to configure a custom directory for auto-memory storage
- Fixed memory leak where streaming API response buffers were not released when the generator was terminated early, causing unbounded RSS growth on the Node.js/npm code path
- Fixed managed policy `ask` rules being bypassed by user `allow` rules or skill `allowed-tools`
- Fixed full model IDs (e.g., `claude-opus-4-5`) being silently ignored in agent frontmatter `model:` field and `--agents` JSON config — agents now accept the same model values as `--model`
- Fixed MCP OAuth authentication hanging when the callback port is already in use
- Fixed MCP OAuth refresh never prompting for re-auth after the refresh token expires, for OAuth servers that return errors with HTTP 200 (e.g. Slack)
- Fixed voice mode silently failing on the macOS native binary for users whose terminal had never been granted microphone permission — the binary now includes the `audio-input` entitlement so macOS prompts correctly
- Fixed `SessionEnd` hooks being killed after 1.5 s on exit regardless of `hook.timeout` — now configurable via `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`
- Fixed `/plugin install` failing inside the REPL for marketplace plugins with local sources
- Fixed marketplace update not syncing git submodules — plugin sources in submodules no longer break after update
- Fixed unknown slash commands with arguments silently dropping input — now shows your input as a warning
- Fixed Hebrew, Arabic, and other RTL text not rendering correctly in Windows Terminal, conhost, and VS Code integrated terminal
- Fixed LSP servers not working on Windows due to malformed file URIs
- Changed `--plugin-dir` so local dev copies now override installed marketplace plugins with the same name (unless that plugin is force-enabled by managed settings)
- [VSCode] Fixed delete button not working for Untitled sessions
- [VSCode] Improved scroll wheel responsiveness in the integrated terminal with terminal-aware acceleration