Skip to content

原文(日本語に翻訳)

上矢印キーでコマンド履歴をナビゲートした際に、下書き中のプロンプトが失われる問題を修正

原文(英語)

Fixed draft prompt being lost when pressing UP arrow to navigate command history

概要

Claude Code v2.1.20では、コマンド履歴をナビゲートする際に入力中のテキストが失われる問題が修正されました。以前は、プロンプトを入力している途中で↑キーを押して履歴を確認すると、元の下書きテキストが完全に消失し、再度入力し直す必要がありました。この修正により、履歴を確認した後でも↓キーで元の下書きに戻れるようになります。

基本的な使い方

入力中のテキストは履歴ナビゲーション後も保持されます:

bash
# 長いプロンプトを入力中
> このプロジェクトの全てのTypeScriptファイルを確認して、型エラーを

# 途中で以前使ったコマンドを思い出したくなった
# ↑キーを押す → 前のコマンドが表示される
# もう一度↑ → さらに前のコマンド

# 必要な情報を確認したら↓キーで戻る
# ↓を数回押す → 元の下書きが復元される
> このプロジェクトの全てのTypeScriptファイルを確認して、型エラーを

# 修正前:下書きが消失して再入力が必要
# 修正後:下書きが保持され、続きから入力可能

実践例

長いコマンドの作成中に参考情報を確認

複雑なプロンプトを作成している途中:

bash
# 詳細な指示を入力中
> src/components/ 配下の全てのReactコンポーネントを確認して、
  以下の点を修正してください:
  1. propTypesをTypeScriptの型定義に変換
  2.

# 「あれ、前回どういう指示を出したっけ?」と思い、↑で履歴確認

# ↑キーを押す:
前のコマンド: /help

# もう一度↑:
さらに前: eslintの警告を全て修正して

# もう一度↑:
目的のコマンド: すべてのコンポーネントでuseCallbackを適切に使用して

# 確認できたので、元の下書きに戻る
# ↓を3回押す
> src/components/ 配下の全てのReactコンポーネントを確認して、
  以下の点を修正してください:
  1. propTypesをTypeScriptの型定義に変換
  2. ここから続きを入力できる

コマンド構文の確認

似たコマンドの構文を参照したい場合:

bash
# 新しいコマンドを入力中
> /commit-push-pr --base main --title "

# 「--titleの後に何を書くんだっけ?」
# ↑で以前の成功例を確認

# 履歴から見つけた:
前回の例: /commit-push-pr --base develop --title "Fix authentication bug"

# 構文を確認できたので↓で戻る
> /commit-push-pr --base main --title "
# ← 下書きが保持されているので続きを入力

複数のタスクを並行して計画

異なるタスクの間で行き来する場合:

bash
# タスク1のプロンプトを準備中
> データベーススキーマを確認して、users テーブルに email_verified カラムを

# 「そういえば、先にテストを書くべきかも」と思い、履歴で確認
# ↑で前回のテスト関連コマンドを探す

前回のテスト: pytest tests/ -v --cov

# 参考になったが、今は最初のタスクを完了させたい
# ↓で元の下書きに戻る
> データベーススキーマを確認して、users テーブルに email_verified カラムを
# ← そのまま続きを入力

エラーからのリカバリー

コマンドを入力中に間違いに気づいた場合:

bash
# 間違ったコマンドを入力しかけた
> /comit -m "Add new feature"
     ^^^^ スペルミス

# 「正しいスペルを確認したい」
# ↑で履歴から正しいコマンドを探す

正しい例: /commit -m "Fix bug"
          ^^^^^^

# 確認できたので↓で戻る... あれ、間違ったコマンドが残ってる

# 修正前の問題:
# - 下書きが保持されないため、間違いをそのまま修正するしかない
# - または全て削除して再入力

# 修正後:
# - ↓で戻ると間違った下書きが表示される
# - Ctrl+Uで全削除して正しく再入力
# - または Backspace で "comit" を削除して "commit" に修正

ワークフローの確認

複数ステップのタスクを実行する際:

bash
# ステップ3を入力中
> ビルドが成功したら、Docker イメージを作成して、タグを

# 「ステップ1と2で何をしたっけ?」
# ↑で確認

ステップ2: npm run test
ステップ1: npm run lint

# 確認して↓で戻る
> ビルドが成功したら、Docker イメージを作成して、タグを
# ← 続きを入力

注意点

  • この修正により、下書きは「一時的な履歴項目」として扱われます
  • 履歴を遡った後、↓キーで最新まで戻ると下書きが復元されます
  • 下書きはセッション中のみ保持され、コマンドを実行すると履歴に追加されます
  • Enterキーでコマンドを実行すると、そのコマンドが履歴に追加され、下書きはクリアされます
  • Ctrl+C でキャンセルした場合、下書きも破棄されます

関連情報