CLI でエージェントを使う
モード
CLI では、エディターと同じモードを使用できます。スラッシュコマンドまたは --mode フラグでモードを切り替えます。
Plan モード
コーディング前に方針を立てるには、Plan モードを使用します。エージェントが補足の質問をして、プランを具体化します。
- Shift+Tab を押して Plan モードに切り替える
/planで Plan モードに切り替える--planまたは--mode=planフラグを指定して開始する
Ask モード
Ask モードでは、コードを変更せずに探索できます。エージェントがコードベースを検索し、ファイルを編集せずに回答します。
/askで Ask モードに切り替える--mode=askフラグを指定して起動する
プロンプト
最良の結果を得るには、意図を明確に伝えることをおすすめします。たとえば、「コードを一切書かないでください」とプロンプトで指定すれば、エージェントがファイルを編集しないようにできます。実装前にタスクを計画する際に、特に役立ちます。
エージェント には、ファイル操作、検索、シェルコマンドの実行、Web アクセスに使用できるツールがあります。
MCP
エージェントは、機能拡張や連携のための MCP (Model Context Protocol) をサポートしています。CLI は mcp.json 設定ファイルを自動的に検出して反映するため、エディターで設定したものと同じ MCP サーバーとツールを利用できます。
ACP
エージェントは、カスタムクライアントとの連携に ACP (Agent Client Protocol) もサポートしています。agent acp を使用すると、JSON-RPC メッセージングを介して stdio 上で Cursor CLI を ACP サーバーとして実行できます。
ルール
CLI エージェントは、エディターと同じルールシステムをサポートしています。.cursor/rules ディレクトリにルールを作成すると、エージェントにコンテキストや指示を与えられます。これらのルールは設定に応じて自動的に読み込まれ、適用されるため、プロジェクト内の領域や特定のファイルタイプごとにエージェントの挙動をカスタマイズできます。
CLI は、プロジェクトルートにある AGENTS.md と CLAUDE.md も (存在する場合)
読み込み、.cursor/rules とともにルールとして適用します。
エージェントの操作
ナビゲーション
上矢印 (ArrowUpArrow Up) を使って以前のメッセージを表示し、順に切り替えられます。
入力ショートカット
- Shift+Tab — モード (エージェント、Plan、Ask) を切り替えます
- Shift+Enter — 送信せずに改行を挿入し、複数行のプロンプトを入力しやすくします。
- Ctrl+D — CLI を終了します。標準的なシェルの挙動に従い、終了するには2回押す必要があります。
- Ctrl+J または +Enter — すべてのターミナルで使える、改行を挿入するための汎用的な代替手段です。
Shift+Enter は iTerm2、Ghostty、Kitty、Warp、Zed で使用できます。tmux ユーザーは代わりに Ctrl+J を使用してください。設定オプションとトラブルシューティングについては、ターミナルのセットアップを参照してください。
確認
Ctrl+Rで変更を確認します。iを押すと、追加の指示を送れます。ArrowUpArrow Up/ArrowDownArrow Downでスクロールし、ArrowLeftArrow Left/ArrowRightArrow Rightでファイルを切り替えます。
コンテキストの選択
@ を使用して、コンテキストに含めるファイルとフォルダーを選択します。/summarize を実行すると、コンテキストウィンドウの空き容量を確保できます。/compress は引き続きエイリアスとして利用できます。
Cloud Agentへの引き継ぎ
会話をCloud Agentにプッシュすると、離席中も実行を続けます。任意のメッセージの先頭に&を付けると、クラウドに送信できます。Webまたはモバイルでcursor.com/agentsを開けば、作業を再開できます。
# 会話の途中で Cloud Agent にタスクを送る& refactor the auth module and add comprehensive testsCLI worktrees
-w または --worktree [name] を指定すると、現在のチェックアウトを直接編集する代わりに、新しい Git worktree でエージェントを実行できます。Cursor は、エディターから作成した worktree と同じ場所である ~/.cursor/worktrees/<reponame>/<name> に、これらのチェックアウトを作成します。name を省略すると、Cursor が自動的に生成します。
Cursor は、エディターの worktree と同じ保持ルールに従って CLI worktree をクリーンアップします。クリーンアップの設定と上限については、古い worktree はどのようにクリーンアップされますか?を参照してください。
リポジトリのルートを明示的に指定する必要がある場合は、--workspace <path> を併用してください。それ以外の場合、CLI は現在の作業ディレクトリを使用します。--worktree で変更されるのは、そのプロジェクト内でエージェントがファイルを編集する場所のみです。
# 現在のリポジトリから、生成された名前で一時的なworktreeを作成agent --worktree "upgrade the test runner and fix any broken snapshots"# 別のリポジトリから、名前付きのworktreeを作成agent --workspace ~/src/my-app --worktree auth-fix "fix the flaky auth test and open a PR"履歴
--resume [thread id] で既存のスレッドを再開し、以前のコンテキストを読み込めます。
最新の会話を再開するには、agent resume、--continue、または /resume スラッシュコマンドを使用します。
agent ls を実行して以前のチャットを開き、そのうちの1つを再開することもできます。
コマンドの承認
ターミナルコマンドを実行する前に、CLI で実行を承認 (y) または拒否 (n) するよう求められます。
非対話型モード
-p または --print を使用して、エージェントを非対話型モードで実行できます。レスポンスがコンソールに出力されます。
非対話型モードでは、エージェントを対話なしで呼び出せます。これにより、スクリプトや CI パイプラインなどに組み込むことができます。
--output-format と組み合わせることで、出力形式を制御できます。たとえば、スクリプトで解析しやすい構造化出力には --output-format json を、エージェントの最終レスポンスをプレーンテキストで出力するには --output-format text を使用します。