Claude Media
Claude CodeのVS Codeでセッション名が戻る原因と直し方

Claude CodeのVS Codeでセッション名が戻る原因と直し方

VS Code拡張のチャット見出しでセッション名を変えると一瞬で元に戻る不具合は、v2.1.275で修正されています。症状の見分け方、原因、更新までの回避策を扱います。

Claude CodeのVS Code拡張で、チャット見出しのタイトルを書き換えてEnterを押すと、新しい名前が一瞬だけ表示されてすぐ元の名前に戻る。そんな症状は、拡張のv2.1.275で直っています。報告があったのはv2.1.269前後からv2.1.273までの拡張です。

直し方は拡張をv2.1.275以降に更新するだけです。更新できない間は、アクティビティバーのセッション一覧から名前を変えるか、セッション内で/renameを使えば名前は定着します。

見出しだけで名前が戻るのは、どんな症状か

切り分けのポイントは、どこから名前を変えたかです。報告されている症状は次の組み合わせでした。

操作する場所結果
チャット見出しのタイトルを直接書き換える結果新しい名前が一瞬出て、すぐ元に戻る
アクティビティバーのセッション一覧から名前を変える結果そのまま定着する
ウィンドウを再読み込みする結果見出しで変えた名前も保存されており、新しい名前が出る

つまり名前が消えているのではなく、見出し(ビュー)の表示だけが巻き戻っています。報告では、別の利用者も「サイドバーには変更後の名前が出ているのに、チャット側の見出しだけが元の名前に戻る。開き直すと正しい名前になる」と書いています。

再現条件も限られます。セッションで最初のメッセージを送り、CLIのプロセスがそのセッションにつながった状態で見出しから変えたときに起きます。送信前の新しいセッションでは、同じ条件にはなりません。

原因は、存在しないメソッドの呼び出しだった

最初の報告者は、拡張のextension.jsを読んで原因を突き止めています。見出しからの名前変更は、ログに次の形で残ります。

[error] Error processing client request: TypeError: J.query.renameSession is not a function

拡張は名前を保存したあと、動作中のCLIにも新しい名前を知らせようとしてrenameSessionを呼びます。ところがSDK側のクエリクラスにはこのメソッドがなく、同期的なTypeErrorで止まります。エラー用の.catch()は取り付けられる前に投げられるため、例外がそのまま上位に抜け、リクエスト全体が失敗扱いになります。

失敗の応答を受け取ったWebビューは、変更前に控えていたタイトルへ戻します。ログの末尾に、古いタイトルを載せた状態更新が出るのはこのためです。別の報告者が測った範囲では、リクエストからロールバックまでは33ミリ秒でした。「一瞬だけ新しい名前が見える」のは、この時間差です。

なぜ見出しからだけ起きるのか

名前を変えた操作が、そのセッションのCLIとのチャネルを持つ側から出ているかどうかで分かれます。報告者の解析は次のとおりです。

  • 見出しからの変更は、チャネルを持つ側から出る。そこでTypeErrorが起き、自分自身にエラーが返ってロールバックする
  • 一覧からの変更は、チャネルを持たない側から出る。チャット側へ先に新しいタイトルが通知されるため、見出しはすでに新しい名前を採用済みで、後から戻らない

報告者は、バージョン間の比較も添えています。v2.1.267のバンドルにはrenameSessionOnCliが0回しか出ず、v2.1.270ではrenameSessionの出現が6回から13回に増えていました。あるはずのメソッドを呼ぶ処理がこの間に追加された、という見立てです。

保存された名前まで古くなる場合がある

「再読み込みすれば直る」とは限らない、という追加報告もあります。CLIに新しい名前が伝わらないせいで、CLI側が持っている古いタイトルがターンのたびに書き戻されるケースです。

CLIは、メモリ上のタイトルをターンごとにトランスクリプトへ追記します。読み込み時は最後のcustom-title行が採用されるため、古いタイトルが後から追記されると、保存済みの新しい名前が上書きされます。

これが起きるのは、CLIがすでにタイトルを持っている状態のときです。

  • プロセスを起動する前に名前を変えた
  • 以前に名前を付けたセッションを再開した

最初のメッセージを送ったあとで初めて名前を付けた新規セッションは、CLIが古いタイトルを持たないので書き戻しが起きません。最初の報告で「保存はされていた」のは、この条件だったからです。トランスクリプトのcustom-title行がターンごとに同じ古い名前で増えていくなら、このパターンを疑えます。

どのバージョンで起きて、どこで直ったか

報告とchangelogを並べると、時系列は次のとおりです。

あゆみ

セッション名の巻き戻しが起きた版と直った版

  1. v2.1.267問題なし

    最初の報告者と、Remote-SSH経由のLinux環境の報告者が、直前の動作確認版として挙げています。

  2. v2.1.269最初の失敗

    macOSの報告者のログで、最初にTypeErrorが出た版です。changelogも、この版を不具合の入り口としています。

  3. v2.1.270〜v2.1.273報告が相次ぐ

    Windows、macOS、Linux(Remote-SSH)、Cursorで同じエラーが再現しています。

  4. v2.1.275修正

    changelogに「実行中のセッションの名前変更が生成名に戻る問題(v2.1.269での退行)を修正」と記載されています。

issueのタイトルは「2.1.270の退行」ですが、macOSの報告者のログは2.1.269で最初の失敗を示し、changelogの修正項目も2.1.269の退行と書いています。版が2.1.270でなくても、2.1.269〜2.1.274の範囲に入っていれば該当すると読むのが安全です。

環境による差はありません。報告にはWindows、macOS、Linux(Remote-SSH経由)、Cursorが並んでいて、どの環境でも同じTypeErrorでした。

更新して直すとき

拡張のバージョンを確かめる

VS Codeの拡張機能ビューでClaude Codeの詳細を開くと、拡張のバージョンが出ます。v2.1.269〜v2.1.274のいずれかなら、更新が先です。ログで裏を取るなら、出力パネルの「Claude Code」チャンネルを開き、次の文字列を探します。

renameSession is not a function

見つかれば、この不具合です。見つからないのに名前が戻るなら、別の原因です。

更新できない間の回避策

手順

名前を定着させる手順

  1. 1

    一覧から名前を変える

    アクティビティバーのセッション一覧で対象の行にポインタを合わせ、名前の変更を選びます。拡張のドキュメントにも、一覧にはホバーで現れる「Rename」があります。

  2. 2

    見出しの表示を確かめる

    一覧から変えると、チャット側の見出しにも新しい名前が反映されたと報告されています。

  3. 3

    必要なら会話の中で変える

    CLI自身の/renameは、この不具合の影響を受けず、定着した報告があります。

セッションの入力欄で実行する形は次のとおりです。

/rename api-migration

/renameの仕様、名前が重複したときの挙動、--nameとの違いはClaude Codeでセッション名を変更する方法にまとめています。

編集中のタブに使うコマンドは、動くのか

拡張のコマンド一覧には、アクティブなタブのセッション名を変える「Rename Session Tab」が載っています。v2.1.257以降が条件です。ただし、v2.1.269ではタブの右クリックメニューとエディタータイトルバーの「…」メニューから、Claude Codeの項目が外されました。操作したタブに作用できなかったためです。

メニューが消えたことと、今回のTypeErrorは別の話です。ただ、最初の見出し経路が壊れていた期間は、右クリックの代替も使えなかったことになります。この期間にコマンドパレットの「Rename Session Tab」が正常に動いたかどうかは、報告のどこにも書かれていません。

同じ根が疑われる、別の症状

報告者の一人は、別のissueで報告されているタブやセッション一覧の不具合も、同じ欠陥の別の見え方ではないかと推測しています。CLIの状態更新と書き込みが、古いタイトルのままだったという見立てです。ただしこれは推測で、issueに紐づく修正は上のchangelogの1項目のみです。

v2.1.275のchangelogには、名前まわりで1項目だけがあります。ほかのVS Code項目(新規セッションをサイドバーで開く挙動の変更、メモリー表示の改善など)は、この不具合と直接の関係は書かれていません。

名前の戻りがつらいのは、どんな使い方か

セッションを何本も並べて使う場合、名前は「どれがどの作業か」を見分ける唯一の手がかりです。タブを複数開く運用はClaude Codeを複数タブ・複数ウィンドウで並行実行するVS Code拡張の使い方で扱っています。

この不具合は、名前そのものよりも「直したつもりの名前が戻る」ことで作業の混乱を招きます。見出しで変えた名前を信じて、別のセッションに指示を出してしまう、という誤操作につながりかねません。更新が済むまでは、名前を変えたあとに一覧側の表示も見る、という確認が現実的です。

もう一つ言えるのは、Webビューの巻き戻しが「サーバー側の成功」より先に確定する設計だったことです。保存は成功しているのに、通知の失敗で表示だけが戻る。今回の修正で、この構造がどこまで見直されたかは、changelogからは読み取れません。報告者が提案したtry/catchによる保護が入ったかどうかも、記載がありません。

落とし穴

再読み込みで直ったように見えても、書き戻しは続く場合がある

CLIが古いタイトルを持つセッションでは、名前を保存しても、次のターン以降にCLIが古い名前を追記します。再読み込みで新しい名前が見えたからと安心せず、数ターン進めたあとに一覧の名前を見直してください。

よくある質問

名前が戻ったセッションの履歴は消えていますか

履歴は消えません。見出しで変えた名前は、表示が戻っても保存されていたと報告されています。消えていたのは名前の表示だけです。

v2.1.275に上げたら、過去に書き戻された古い名前は直りますか

changelogには、すでに書き戻された名前を修復する記載はありません。名前が古いままのセッションは、更新後に一度名前を付け直すのが確実です。

CLIの/renameも戻ってしまいますか

戻らないという報告があります。ターミナルのClaude Codeで/renameを使う分には、この不具合の対象外です。

この記事を共有:XはてブLinkedIn