Skip to content

原文(日本語に翻訳)

キュー済みプロンプトが改行区切りなしで連結されていた問題を修正しました

原文(英語)

Fixed queued prompts being concatenated without a newline separator

概要

Claude Codeに複数のプロンプトをキューに積んで送信した場合、それぞれのプロンプトが改行なしでひとつなぎに連結されてしまう問題がありました。例えば「タスクA」と「タスクB」をキューに入れると「タスクAタスクB」のように結合され、意図しない解釈がされる可能性がありました。この修正により、キュー済みプロンプト間に適切な改行が挿入されるようになります。

基本的な使い方

この修正は自動的に適用されます。複数のプロンプトをキューに積む操作は従来通りで、改行が正しく挿入されるようになります。

bash
# 非インタラクティブモードで複数のプロンプトを送信する例
# 各プロンプトは改行で適切に区切られる
claude -p "最初のタスクを実行して"
claude -p "次のタスクも実行して"

実践例

ストリーミング中に追加入力をキューに積む

# Claude Codeがレスポンスを生成している間にユーザーが入力
# 修正前: 「修正してテストも書いて」→「修正してテストも書いて」(一行で連結)
# 修正後: 各入力が適切な改行で区切られる

ユーザー入力1: "このコードを修正して"
ユーザー入力2: "テストも書いて"

→ 修正後は2つの独立したプロンプトとして正しく処理される

パイプを使った複数プロンプトの入力

bash
# パイプを使って複数行のプロンプトを送信
printf "ファイルを一覧表示して\nディレクトリ構造を説明して" | claude -p

# 修正後は各行が独立したプロンプトとして正しく扱われる

スクリプトからの連続プロンプト送信

bash
#!/bin/bash
# 複数のタスクを順番に実行するスクリプト
tasks=(
  "package.jsonの依存関係を確認して"
  "セキュリティの脆弱性があれば報告して"
  "更新が必要なパッケージをリストアップして"
)

for task in "${tasks[@]}"; do
  echo "$task" | claude -p
done

注意点

  • 影響を受けるケース: Claudeがレスポンスを生成中に入力をキューに積んだ場合や、自動化スクリプトで複数のプロンプトを連続送信する場合に影響がありました
  • セマンティクスの変化: 修正前は意図せず複数のプロンプトが結合されることで、偶然正しく動作していたケースが稀にある場合があります
  • API利用の場合: APIを直接利用している場合は影響なし。Claude Code CLIのキュー機能に固有の問題でした
  • 確認方法: デバッグログ(claude --debug)でプロンプトの送信内容を確認できます

関連情報