Cursor バージョン3.11 機能チュートリアル:サイドチャットがメインウィンドウを中断しない、Cmd+Kで過去の会話を表示し直す

この文章は、Cursor 3.11 の新機能3つを一気に使いこなすためのガイドです。サイドチャットでメインのAgentに質問しても邪魔しない(中断しない)方法、Cmd+Kで端末内の数千件の古い会話を全文検索する方法、さらにHooksで重要な節目に介入してサブAgentを監視・制御する方法を紹介します。動作するhooks.jsonの完全な例と、クラウドAgentで踏みがちな落とし穴も付けます。
(前置き:マスク旗下のSpaceXAIが最強モデル「Grok 4.5」を正式リリース!Cursorと手を組み、AIコーディング・エージェントに猛攻撃。Office業務ソフトを完璧に統合)
(補足背景:Cursor Mobileが上線:専用アプリで、スマホからより便利にAIにコードを書かせ、成果を監督できます)

目次

Toggle

  • 本記事の概要
  • サイドチャットでメインAgentを止めずに、contextを引き継いだ別の会話を開く
  • Cmd+Kで端末内の数千件の旧会話を翻す、Cmd+Fでこの会話を調べる
    • すべての旧会話を検索し、Agents WindowでCmd+K
    • この会話を検索し、Cmd+F
  • クラウドAgent Hooksで重要な節点に介入し、子Agentを監視・制御する
    • hooks.jsonの書き方・置き場所
    • ある動作を止めたい場合、理解しているのは2つの節点だけ
    • クラウドAgentの落とし穴
  • 3つの機能をつなげる
  • 付録:拡張リソース
  • よくある質問

メインAgentは大規模なリファクタリングを実行中で、あなたはふと「この関数が他の場所で呼ばれていないか」を確認したくなる。これまでは、停止して切り替え、進行中のタスクを中断するしかなかった。Cursor 3.11(2026年7月10日公開)で追加されたサイドチャット、対話検索、クラウドAgent Hooksの3つの機能が、ちょうど「メインの流れを中断したくない」という課題を解決してくれる。

この記事は、すでにCursorのAgentを使っていることを前提に、3つの新機能を一度に使いこなす手順を案内し、hooks.jsonの例と、クラウドで踏みがちな落とし穴を紹介する。

本記事の概要

  • サイドチャット:メインAgentを止めず、contextを継承したチャットで追い質問
  • 対話検索:Cmd+Kで端末内の数千件の旧対話を検索し、Cmd+Fでこの会話を調べる
  • クラウドAgent Hooks:プロンプト送信、返信、サブAgent起動などの節点に介入
  • 3つの機能のつなぎ方、さらにクラウドHooksの落とし穴

サイドチャットでメインAgentを止めない:contextを継承した別チャットを開く

サイドチャット(side chat)が解決するのは、かなり具体的なシーンです。メインAgentが長いタスクを実行しているとき、そこから外れて質問したい。でも中断はしたくない。

サイドチャットを開く方法は3つあります。使いやすいものを選びましょう:

  1. 指令を入力:チャット欄に /side または /btw
  2. ボタンを押す:チャットパネル上部の + ボタン

開いたサイドチャットはメインの会話のcontext(上下文)をそのまま継承します。なので、背景をもう一度貼り直す必要がありません。いま何をやっているかはもう分かっています。

ここで最も誤解しやすいのは、サイドチャットはデフォルトでは「読み取り・検索・回答」の3つだけを行い、あなたのコードは触らないことです。目的は、追い質問、調べもの、別ルートのリサーチ、または手を動かす前に意思決定をsanity-check(素早く検証)すること。メインAgent側はまったく影響を受けず、走り続けます。本当に何かを変えたいなら、会話の中で明確に指示する必要があります。

各サイドチャットは完全で長期的に保持されるAgentの対話で、聞き終わったら捨てるものではありません。あとで戻って見たり、さらに追い質問できます。役に立つ結論が見つかったら、@でそのサイドチャットをメイン対話に持ち帰ると、contextがメインチャットの流れに合流します。

私の経験だと、サイドチャットが特に役立つのは「これは何?」を聞くことより、「メインAgentはこう直すつもりだが、Xに影響しそうで不安。Xが別の場所で依存されてないか、先に確認して」といったケースです。メインの作業は進み続け、あなたは横で検証する。2つの線は互いに詰まらせません。

Cmd+Kで端末内の数千件の旧対話を翻す、Cmd+Fでこの会話を調べる

「先週のあのAgentの対話で、あのbugをどう解決したか」を探そうと思うと、これまでは会話名やPR番号に頼って地道に探すしかなくてつらかった。3.11では検索が組み込まれました。しかも2つのレイヤーがあります。

すべての旧対話を検索:Agents WindowでCmd+K

Agents Window(Agentの対話ウィンドウ)でCmd+Kを押すとコマンドパレットが呼び出され、会話名やPR番号だけでなく、Agentの対話内容(transcript)を直接検索できます。Cursorはローカルに検索インデックスを作るので、数千件の対話をためていても検索は非常に高速です。

インデックスはローカルに作られるため、検索のために内容がクラウドへ投げられることはありません。プライバシーを気にする人には安心材料です。

この会話を検索:Cmd+F

いま見ているこの長い対話の中で、特定の箇所を探したいだけならCmd+Fで十分です。match counter(ヒット件数カウント)が出て、該当箇所の間をジャンプできます。長いtranscriptをスクロールしながらでも検索できます。

ここで注意点があります。アップグレード後はインデックスの作成に少し時間がかかります。旧対話が一時的に見つからない、またはchat historyが空っぽに見える場合は、インデックスが走り終わるまで待ってみてください。通常はデータが消えたわけではありません。

クラウドAgent Hooksで重要な節点に介入し、監視と制御で子Agentを動かす

Hooks(ハンドル/掛け金具)は、今回の開発者向けアップデートでも特に重みのある変更です。Agentの対話の重要な節点に自分のスクリプトを紐づけると、Agentがその節点に到達した瞬間に、自動であなたのスクリプトが実行されます。

3.11で追加されたこれらの節点は、Agentの1ターンの対話における重要なタイミングをカバーします:

  • beforeSubmitPrompt:プロンプトを送るが、リクエストがまだバックエンドへ送られていない時
  • afterAgentResponse:Agentが1つの返信を終えたあと
  • afterAgentThought:1つの思考(thinking)が終わったあと
  • subagentStart:子Agent(Taskツール)が生成される前
  • subagentStop:子Agentが実行を終えたあと
  • stop:1ターンのAgentループが終わり、タスクが停止するとき

これらの節点があると、次の3つができます。実行の全体を監視すること、子Agentが起動する前後で制御すること、そして自動的に誤りを修正(self-correcting)するループを組むこと。たとえば、Agentが返信をしたら自動でテストを走らせ、失敗したらエラーをAgentに投げて自分で直させる、といった具合です。

hooks.jsonの書き方、置き場所

Hooksの設定はhooks.jsonに書き、versionは固定で1を入れます。置き場所は3つあり、存在するものはすべて実行されます:

  • プロジェクト層:<プロジェクトルート>/.cursor/hooks.json
  • ユーザー全域:~/.cursor/hooks.json
  • 企業層:/etc/cursor/hooks.json

最小で動く例として、2つのことを行います。毎回Agentがファイルを変更したら監査(audit)スクリプトを走らせ、タスク停止時には1行記録を残します:

{
  "version": 1,
  "hooks": {
    "afterFileEdit": [
      { "command": "./hooks/audit.sh" }
    ],
    "stop": [
      { "command": "./hooks/on-stop.sh" }
    ]
  }
}

command内のパスはhooks.jsonのある場所からの相対パスです。あなたのスクリプトはstdin(標準入力)から、conversation_id、generation_id、model、hook_event_nameなどの基本フィールドを含むJSONを受け取ります。さらに、その節点に関連するフィールドも入ります。たとえばbeforeSubmitPromptならpromptが入り、afterAgentResponseなら返信テキストが入ります。

何もしないが、受け取ったデータがあることだけ確認するスクリプトはこんな感じです:

#!/bin/bash
cat &gt; /dev/null   # stdinを読んで捨てる
exit 0            # 成功を返す

ある動作を止めたい:認識されるのは2つの節点だけ

ここには踏みがちな落とし穴があります。すべてのhookが動作を止められるわけではありません。beforeShellExecution(シェルコマンドを実行する前)とbeforeMCPExecution(MCPツールを呼び出す前)の2つの節点だけが、stdout(標準出力)で返すJSONを見て許可するかどうかを判断します:

{
  "continue": true,
  "permission": "allow",
  "userMessage": "あなたに表示されるメッセージ",
  "agentMessage": "AIに表示されるメッセージ"
}

permissionはallowなら通過、denyならブロック、askならあなたに確認します。afterAgentResponseなど他の節点では、permissionを返しても無視されます。それらは観察・記録・別の動作のトリガーを行うだけで、遮断はできません。

クラウドAgentの落とし穴

HooksをクラウドAgent(cloud agent)に使うと、失効してしまう節点があります。それはbeforeSubmitPromptです。理由は現実的で、このhookはsessionの開始時点のライフサイクルに紐づけられますが、クラウド側の仮想マシン(VM)はsession開始後に作られるため、session開始直後の瞬間には機械が存在しません。だから、最初からあなたのhookを走らせることができないのです。

私の経験としては、クラウドで使うなら「ツール実行の前後」に紐づく節点を選ぶべきです。たとえばbeforeShellExecution、afterFileEdit、subagentStart、subagentStop、stopなどは比較的安定しています。「session開始のごく最初」系に紐づけるのは期待しないほうがいいです。

三つの機能をつなげる

3つの機能は別々に説明されますが、実際に「つなげた感覚」を確かめるためには自分で試すのが重要です。具体例を挙げます:

メインAgentが、複数ファイルにまたがるリファクタリングを実行中です。あなたはサイドチャット(/side)を開き、「この変更対象のインターフェースは、いったい何カ所で使われているのか」を調べます。メインの作業は止まりません。調べた結果、リスクがあると思ったら、@でサイドチャットの結論をメイン対話へ持ち帰り、メインAgentにその複数箇所も同時に処理させます。同時にhooks.jsonの中にはstop節点を用意しておき、リファクタリングが終わったら自動でテストを走らせます。最後にCmd+Fでこの長い対話に戻って、先ほどAgentが「どの関数を動かした」と言っていたかを探します。

一通りやり終えてみると、中断されることなく、やりたかったことは全部完了しています。

付録:拡張リソース

  • Cursor公式Changelog:各バージョンの完全な更新内容。3.11のサイドチャットと対話検索もここにあります
  • Cursor Hooks公式ドキュメント:すべてのhook節点、stdin/stdoutの各項目、設定形式の完全な参照先
  • Cursor Subagentsドキュメント:subagentStart/subagentStop節点と組み合わせる場合、まずはこの資料が役立ちます

よくある質問

Q1. サイドチャットは私のコードを変更しますか?
A:いいえ。デフォルトでは読み取り・検索・回答の3つだけを行い、目的は検証と追い質問です。コードを実際に変更させるには、会話の中で明確に指示する必要があります。

Q2. サイドチャットを閉じたら消えますか?
A:消えません。各サイドチャットは長期保存される完全なAgentの対話です。あとで戻って確認したり、さらに追い質問したりできますし、@でメイン対話に持ち帰ることもできます。

Q3. Cmd+Kの対話検索はクラウドですか?それともローカルですか?
A:ローカルです。Cursorはあなたのコンピュータ本体に検索インデックスを作り、検索のために内容がアップロードされません。数千件の対話までなら、かなり高速に動きます。

Q4. アップグレード直後、旧対話が検索できない/chat historyが空に見えるのはなぜ?
A:多くの場合、ローカルのインデックスがまだ作成中です。走り終わるまで待ってから確認してください。通常はデータが消えたわけではありません。

Q5. HooksはクラウドAgentとローカルで何が違いますか?
A:最大の違いはbeforeSubmitPromptがクラウドでは動かないことです。session開始直後、クラウドのVMがまだ建てられていないためです。ツール実行の前後に紐づく節点、たとえばbeforeShellExecution、afterFileEdit、subagentStartでは、クラウド側でも比較的安定しています。

Q6. hooks.jsonはどこに置くと有効になりますか?
A:プロジェクトの .cursor/hooks.json、ユーザー全域の ~/.cursor/hooks.json、企業の /etc/cursor/hooks.json のいずれか(または複数)です。存在する位置のものは3つとも実行されます。

Q7. hookで危険なコマンドを直接ブロックできますか?
A:できます。ただしbeforeShellExecutionとbeforeMCPExecutionの2つの節点だけが、stdoutで返すpermissionを理解します。denyを入れればブロックできます。ほかの節点は観察やトリガーはできますが、遮断はできません。

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
コメントを追加
コメントを追加
コメントなし
  • ピン留め