Claude Media
agent viewのCtrl+Fとn:フィルタでセッション名から探す方法

agent viewのCtrl+Fとn:フィルタでセッション名から探す方法

Claude Codeのagent viewでCtrl+Fを押すと、セッション名を探すn:フィルタが使えます。n:が当たる範囲、a:・s:との組み合わせ、Enterの挙動、keybindings.jsonでの再割り当てをまとめます。

agent viewでセッションが10本を超えたら、Ctrl+Fを押して探したい名前を打つのが最短です。押すとディスパッチ入力がn:フィルタの状態になり、名前か最初のプロンプトに文字列を含むセッションだけが残ります。Ctrl+Fはv2.1.288、n:フィルタはv2.1.287で入りました。

Ctrl+Fはn:フィルタの近道

Ctrl+Fの定義は「セッションを名前で探す。n:フィルタを使う」です。新しい検索画面が開くわけではありません。agent viewの下部にあるディスパッチ入力にn:と手で打つのと、同じ結果になります。

n:<text>は、名前または最初のプロンプトに<text>を含むセッションを出します。n:loginなら、名前にloginがあるセッションと、最初に頼んだ内容にloginが出てくるセッションの両方が対象です。

n:login

名前を付けていないセッションも探せるのが、名前だけを見る検索との違いです。agent viewは最初のプロンプトも検索対象に含めるので、Ctrl+Rで名前を付け直す前でも、依頼内容の語で見つかります。

くらべる

Ctrl+Fで入力が変わるか、手で打つか

v2.1.288以降

Ctrl+Fを押す

定義は「n:フィルタでセッションを名前で探す」キー。接頭辞を覚えていなくても使える。

v2.1.287以降

`n:`と手で打つ

キーの再割り当てや端末の都合でCtrl+Fが使えない環境でも同じ絞り込みになる。

n:が当たる範囲と、ほかのフィルタとの違い

入力欄の先頭に置ける接頭辞は4種類あります。agent view全体の設計(常駐プロセス、状態表示、返信とアタッチの違い)はagent viewの解説にあり、ここでは絞り込みだけを扱います。接頭辞ごとの違いは次の表で見分けられます。

接頭辞何を見るか
a:<name>何を見るかそのエージェントで動いているセッション
s:<state>何を見るか状態や、グループ見出しの名前
n:<text>何を見るか名前、または最初のプロンプト
o:<text>何を見るかセッションが報告した結果

n:だけが「人間が付けた呼び名」に近い軸です。a:は指定したエージェントの名前、s:は状態、o:は完了後の結果なので、まだ結果を出していない作業中のセッションはo:では見つかりません。作業中のセッションを依頼内容から探すときはn:が向きます。

PR番号(#1234)やURLもフィルタとして使えますが、これらは接頭辞なしで入力する形式です。PRに紐づくセッションを探すなら番号、依頼文の語で探すならn:、という切り分けになります。

s:・a:と重ねて「自分待ちのreviewerだけ」を出す

a:・s:・n:・o:は空白で区切って重ねられ、すべてに合うセッションだけが残ります。たとえば次の入力は、自分の返答待ちになっている、名前か依頼文にloginを含むセッションだけを出します。

s:blocked n:login

s:blockedは、承認待ちや質問待ちなど、自分の操作を待っているセッションをまとめて出す指定です。10本以上を並行させると、全部を目で追うより「待たされているもののうち、このテーマのもの」と絞るほうが速く片付きます。

s:blocked a:reviewer n:payment

3つ重ねても同じ規則で、全条件を満たす行だけが残ります。なお、重ねるときは先頭をa:・s:・n:・o:のどれかで始めます。

絞り込み中はグループが開き、Enterは最良の一致を開く

絞り込みを有効にすると、折りたたんでおいたグループが自動で展開され、一致した行が選択された状態になります。折りたたみ中のグループに隠れていたセッションも見落としません。入力を空にすれば、展開されていたグループは元どおり折りたたまれます。

Enterの挙動はv2.1.288で変わりました。v2.1.287では最初の一致が開きましたが、v2.1.288以降は名前の一致度がいちばん高いセッションが開きます。一覧の先頭が必ずしも狙ったものではない場面で、Enterを押すだけで目的のセッションにアタッチできるようにする変更です。

ただし、同じ語を含む名前が複数あるときは、候補を見ずにEnterを押すと別のセッションに入るかもしれません。n:fixのような短い語で絞ると、fix-loginもprefix-checkも一致します。短い語を使うときは、選択されている行を確認してからEnterを押します。

画面に収まらない完了済みセッションは、一覧の末尾で… N moreの1行に畳まれます。Completedグループは、動作中のグループを表示したあとの残りの縦幅を使うため、端末が短いほど畳まれる数が増えます。フィルタ中にこの行がどう展開されるかは、agent viewのページに記載がありません。完了済みの古いセッションが見つからないときは、端末を縦に広げるか、n:にo:を重ねて結果の語でも絞ります。

検索に効く名前の付け方

n:は名前と最初のプロンプトを見るので、Ctrl+Rでセッションを付け直す名前は、後から検索する語に揃えておくと効きます。たとえば機能名、チケット番号、担当領域を先頭に置きます。

  • login-fix、login-testのように、機能名を共通の接頭語にする
  • チケット番号を名前に入れておき、n:PROJ-482で一括して引く
  • 同時に何本も頼むときは、最初のプロンプトの1行目にも同じ語を入れる

名前に規約を持たせると、n:loginひとつで関連セッションが全部出ます。スクリプトから同じ名前で状態を読みたい場合は、claude agents --jsonの使い方が入口です。Ctrl+Rは名前変更、Ctrl+Tは固定表示、Shift+↑/Shift+↓は並べ替えのキーです。

Alt+↑/↓はグループ見出しの間を飛ぶ

Ctrl+Fと同じv2.1.288で、グループ見出しの間を移動するAlt+↑/Alt+↓も追加されました。↑/↓は1行ずつ、PgUp/PgDnは1画面ずつの移動です。グループがReady for review、Needs input、Working、Completedと並んでいて、Completedが長いときに、見出し単位で飛べます。

keybindings側の既定値は、Ctrl+↑/Ctrl+↓とMeta+↑/Meta+↓の2通りです。macOSではMetaがOptionキーにあたるので、changelogのAlt+↑/↓と同じキーです。

keybindings.jsonでCtrl+Fを再割り当てする

Ctrl+F、Ctrl+R、グループ移動の3つは、keybindings.jsonで割り当てを変えられます。agent viewに効くのはAgentsコンテキストで、アクション名は次のとおりです。

アクション既定のキー役割
agents:find既定のキーCtrl+F役割n:フィルタでセッションを探す
agents:rename既定のキーCtrl+R役割選択中のセッション名を変える
agents:previousGroup既定のキーCtrl+Up, Meta+Up役割前のグループ見出しへ
agents:nextGroup既定のキーCtrl+Down, Meta+Down役割次のグループ見出しへ

Agentsコンテキストの追加はv2.1.257以降ですが、表の4アクションはすべてv2.1.288以降の対象です。キー割り当ての書式そのものはkeybindingsでchordを組む方法にまとまっています。Agentsコンテキストはchordではなく単一キーで動きます。/keybindingsを実行すると~/.claude/keybindings.jsonが開きます。編集内容は再起動なしで反映されます。

{
  "bindings": [
    {
      "context": "Agents",
      "bindings": {
        "ctrl+f": null,
        "meta+f": "agents:find"
      }
    }
  ]
}

上の例は、既定のctrl+fを外してmeta+fに移す書き方の一例です。端末側がCtrl+Fを別用途に使っているなどの理由で割り当てを避けたいときに使います。アクションをnullにすると既定のショートカットが解除される規則は、keybindings全般で共通です。

agent viewの中では、Agentsコンテキストが割り当てたキーがChatやGlobalの同じキーより優先されます。たとえばCtrl+Sはagent viewではchat:stashではなく、グループの切り替え(agents:switchView)として動きます。ほかの画面で割り当てたキーが、agent viewだけ効かないように見えるときは、この優先順位が原因です。

見つけたあとの操作と、一覧から消えたセッションの探し方

一致した行が選択された状態になるので、そのまま次の操作に進めます。Enterか→でアタッチし、Spaceで中身を覗くpeekパネルを開閉します。peekパネルからは返信も送れるため、「待たされているセッションに一言返すだけ」なら、アタッチせずに済みます。Alt+1〜Alt+9は、フォーカス中のセッションと同じディレクトリのN番目へアタッチするキーで、n:とは別の移動手段です。

Ctrl+Fで探せるのは、一覧に行があるセッションです。Ctrl+Xで削除したセッションは一覧から消えますが、会話の記録はローカルに残ります。セッションを増やすとworktreeの後片付けも必要になります。溜まる原因はagent viewで.claude/worktreesが溜まる原因にまとめています。v2.1.212以降は、ディスパッチ入力で/resumeと打つと、そのリポジトリの過去のセッションが新しい順に並ぶピッカーが開きます。削除したセッションも含まれ、Enterで選ぶとバックグラウンドセッションとして一覧に戻ります。

/resume

つまり、現在動いているセッションや完了済みの行を探すのがn:、削除済みのセッションを呼び戻すのが/resumeです。ピッカーが開くのは/resumeだけを打った場合に限られ、IDや検索語を付けるとattach to a session to run itのヒントが出ます。

Ctrl+Fが効かないときの切り分け

Ctrl+Fを押しても入力欄が変わらないとき、確認する点は3つです。

切り分け

効かない原因の候補

  • バージョンがv2.1.288未満

    claude --versionで確認します。v2.1.287ならn:は手で打てますが、Ctrl+Fはありません。

  • agent viewの外にいる

    Ctrl+FはAgentsコンテキストのキーです。claude agentsで開いた一覧画面で押します。セッションにアタッチしている間は、通常の会話画面のキー割り当てが働きます。

  • keybindings.jsonで上書きされている

    Agentsコンテキストにctrl+fの設定が残っていないか見ます。再割り当てしたキーを別の用途に使っていれば、そちらが優先されます。

どれにも当たらないときも、n:と手で打てば同じ絞り込みになります。

絞り込みを消すキーは、バージョンと入力の状態で挙動が変わります。Escは、公式のショートカット表では「peekパネルを閉じる、入力をクリアする、または終了する」キーで、入力が空のときはagent viewそのものを閉じます。Ctrl+Cも2回押すとagent viewを閉じます。

v2.1.289以前には、n:やCtrl+Fで検索したあとにEscを押すとフォーカスがグループ見出しへ移る不具合がありました。その状態でCtrl+Xを2回押すと、そのグループのセッションがまとめて削除されます。v2.1.290で修正されています。古いバージョンのままなら、検索後はEscを使わず、入力を1文字ずつ消すか、先にclaude --versionで更新を確かめます。

Ctrl+Fが効いてくるのはセッションが10本を超えてから

Ctrl+Fとn:は、セッションの数が増えて初めて価値が出る機能です。3、4本の運用なら矢印キーで足ります。10本を超えて、名前の規約を決めておく運用になったときに、Ctrl+Rで付けた名前がn:で効いてきます。

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