Skip to content

原文(日本語に翻訳)

/clearを実行すると/renameで設定したセッション名が失われ、ステータスラインの出力からsession_nameが消えてしまう問題を修正しました。

原文(英語)

Fixed /clear dropping the session name set by /rename, causing statusline output to lose session_name.

概要

Claude Code v2.1.111では、/renameでセッション名を設定した後に/clearを実行するとセッション名がリセットされてしまうバグが修正されました。これによりステータスラインのsession_nameフィールドも失われていました。修正後は/clear実行後もセッション名が正しく維持されます。

基本的な使い方

修正後の正しい動作

# セッションに名前をつける
/rename 重要なプロジェクト作業

# コンテキストをクリア
/clear

# 変更前(バグ):セッション名が失われる
# /clear後にステータスラインに session_name が表示されなくなっていた

# 変更後(修正済み):セッション名が維持される
# /clear後もステータスラインに "重要なプロジェクト作業" が表示される

ステータスラインでの確認

bash
# ヘッドレスモードでsession_nameを確認
claude --output-format stream-json --print "確認"
# initイベントのsession_nameフィールドが正しく表示される

実践例

長期プロジェクトでのセッション管理

# プロジェクト開始時にセッション名を設定
/rename ECサイト機能実装

# 作業を進める...
# コンテキストが増えてきたのでクリア
/clear

# 変更後:セッション名はそのまま維持される
# ステータスラインに "ECサイト機能実装" が継続して表示される

# 後で/resumeで再開する際も名前で識別できる

ステータスラインを活用した作業管理

bash
# stream-jsonでステータスを監視するスクリプト
claude --output-format stream-json --print "作業してください" | \
  jq 'select(.type == "init") | .session_name'

# /renameで名前をつけた後は、/clearを実行しても
# session_nameが正しく返される

複数セッションを並行管理する

# セッションAに名前をつける
/rename フロントエンド実装

# 作業後にクリア(名前は維持)
/clear

# 作業再開時に/resumeで名前で識別して再開
/resume フロントエンド実装

注意点

  • /clearはコンテキスト(会話履歴)をクリアしますが、セッション名はセッションのメタデータとして別に管理されるべきものでした。この修正により正しい動作になりました
  • セッション名を完全にリセットしたい場合は、/renameで新しい名前を設定するか、新しいセッションを開始してください
  • ステータスラインのsession_nameフィールドはヘッドレスモードでの自動化スクリプトに有用な情報です
  • session_nameはstream-json出力のinitイベントに含まれます

関連情報