原文(日本語に翻訳)
実行中のサブエージェントを閲覧しながら入力したメッセージが、そのサブエージェントのトランスクリプトから非表示になり、親AIに誤って帰属される問題を修正しました。
原文(英語)
Fixed messages typed while viewing a running subagent being hidden from its transcript and misattributed to the parent AI
概要
Claude Codeでサブエージェントが実行中に、ユーザーがそのサブエージェントの実行画面を見ながらメッセージを入力した場合、そのメッセージがサブエージェントのトランスクリプトに正しく記録されず、親AIのメッセージとして誤って扱われる不具合がありました。この修正により、メッセージの帰属が正確になり、各エージェントのトランスクリプトが正しく記録されます。
基本的な使い方
この修正はバグフィックスであり、特別な設定は不要です。サブエージェントを使用するワークフローで自動的に恩恵を受けます。
# サブエージェントを使用する場面の例:
# - /review コマンドでコードレビューエージェントが起動
# - /test コマンドでテスト実行エージェントが起動
# - 並行タスクで複数のサブエージェントが動作中
# 修正前の問題:
# サブエージェント実行中に入力したメッセージ
# → サブエージェントのトランスクリプトに記録されない
# → 親AIのメッセージとして誤分類される
# 修正後:
# サブエージェントを閲覧中に入力したメッセージ
# → 正しいコンテキストで記録される実践例
サブエージェントへの追加指示
# シナリオ: コードレビューサブエージェントが実行中
Claude: コードレビューを開始します...
[サブエージェント実行中の表示]
→ ファイルを分析中...
→ セキュリティチェック中...
# この画面を見ながらユーザーが入力:
「セキュリティの問題があれば特に詳しく説明してください」
# 修正前: このメッセージがトランスクリプトから消えることがあった
# 修正後: サブエージェントの正しいコンテキストで記録される並行エージェントの管理
# 複数のサブエージェントが並行して実行している場面
# エージェントA: データベースマイグレーション実行中
# エージェントB: フロントエンドのビルド実行中
# エージェントBを閲覧しながら入力したメッセージは
# エージェントBのトランスクリプトに正しく記録される
# 修正前: エージェントAのコンテキストや親AIに誤って帰属されることがあった
# 修正後: 閲覧中のエージェントのコンテキストで正しく処理されるトランスクリプトの確認
bash
# セッション終了後にトランスクリプトを確認
# ~/.claude/projects/ 内のセッションファイルを参照
# 修正後は以下が正しく記録されている:
# - どのエージェントにどのメッセージが属するか
# - ユーザーのメッセージとAIの応答の対応関係
# - サブエージェントごとの会話履歴長時間のサブエージェント実行中の操作
# 大規模なリファクタリングを実行するサブエージェント(数分かかる処理)
Claude: 大規模リファクタリングを開始します...
[15:23:01] src/components/ を処理中...
[15:23:15] src/services/ を処理中...
[15:23:30] src/utils/ を処理中...
# 実行中にユーザーが追加コンテキストを入力:
「node_modules/ は除外してください」
# 修正後: このメッセージが正しく記録され、
# サブエージェントの動作に適切に反映される注意点
- この修正はサブエージェントを閲覧中に入力したメッセージに関するものです
- 親エージェントのプロンプトに通常通り入力する場合は影響しません
- トランスクリプトの帰属が正確になることで、セッション履歴の分析やデバッグが容易になります
- Remote Control機能でサブエージェントのトランスクリプトを監視している場合も、この修正の恩恵を受けます