Claude Media
Claude CodeとCursorの違い — CLIとIDEのエージェントを選ぶ軸

Claude CodeとCursorの違い — CLIとIDEのエージェントを選ぶ軸

Claude CodeとCursorの違いを、Cursor CLI(agent)とAgentの機能に絞って対比。モード・権限・非対話実行・クラウド実行・指示ファイルの差と選び方をまとめます。

Claude CodeとCursorの違いは、入口の違いから始まります。Claude Codeはターミナルで動くエージェントが出発点で、CursorはエディタのAgentが出発点です。ただしCursorにはターミナルから使えるCLI(agentコマンド)があり、CLI同士でも比べられます。

この記事は、CursorのCLIとAgentの機能を軸に、Claude Codeとの差が出る5か所を並べます。3製品の広い比較はClaude Code vs Cursor vs Codex CLIに、両方を同じリポジトリで使う手順はCursorとClaude Codeの併用ワークフローにあります。

起動と対話の入口はどこが違うか

Cursor CLIはagentコマンドで起動します。インストールはmacOS・Linux・WSLならcurl https://cursor.com/install -fsS | bash、Windows PowerShellならirm 'https://cursor.com/install?win32=true' | iexです。Claude Codeはネイティブインストーラー(curl -fsSL https://claude.ai/install.sh | bash)かHomebrewで入れます。

起動後の基本操作は、名前が違うだけで対応が取れます。

やりたいことClaude CodeCursor CLI
対話セッションを始めるClaude CodeclaudeCursor CLIagent
最初のプロンプトを渡すClaude Codeclaude "..."Cursor CLIagent "..."
直前の会話を続けるClaude Codeclaude --continueCursor CLIagent --continue / agent resume
過去の会話を選ぶClaude Codeclaude --resumeCursor CLIagent ls / --resume
非対話で実行Claude Codeclaude -p "..."Cursor CLIagent -p "..."
新しいworktreeで作業Claude Codeclaude --worktreeCursor CLIagent --worktree

再開・非対話・worktreeの3つは、フラグ名まで揃っています。CLIだけで使う限り、操作の乗り換えコストは小さいと言えます。

違いが出るのは、その外側です。CursorにはエディタのAgentがあり、CLIとモードや設定を共有します。Claude CodeにはVS Code・JetBrains拡張やデスクトップアプリもありますが、中身は同じエージェントを別の画面から呼ぶ形です。エディタ内のTab補完のような機能は、ターミナル発のClaude Codeにはありません。

モードと権限の考え方はどう違うか

Cursor CLIのモードは3つです。

  • Agent: 全ツールを使える既定のモード
  • Plan: 実装前に質問しながら方針を決めるモード(Shift+Tab、/plan、--plan)
  • Ask: 読み取り専用で調べるだけのモード(/ask、--mode=ask)

Claude Codeは「権限モード」という軸で動きます。default(読み取りのみ自動)、acceptEdits、plan、auto、dontAsk、bypassPermissionsの6種で、Shift+Tabで切り替えます。

つまりCursorのモードは「エージェントに何をさせるか」を選び、Claude Codeの権限モードは「確認なしで何まで進めてよいか」を選びます。CursorのPlanとAskに当たるのは、Claude Codeではplanモードだけです。

承認の粒度は、Cursor CLIでは設定ファイルのJSONで決めます。置き場所は~/.cursor/cli-config.json(全体)か<project>/.cursor/cli.json(プロジェクト)です。

{
  "permissions": {
    "allow": ["Shell(git)", "Read(src/**/*.ts)", "Mcp(datadog:*)"],
    "deny": ["Shell(rm)", "Read(.env*)", "Write(**/*.key)"]
  }
}

トークンの形式はShell(コマンド)・Read(パス)・Write(パス)・WebFetch(ドメイン)・Mcp(サーバー:ツール)の5種で、denyがallowに優先します。Claude Code側の権限ルールとの書き方の差は、権限モード比較で製品別に並べています。

非対話実行と自動化の差はどこに出るか

どちらも-pで非対話に回せます。差が出るのは、ファイルを書き換えてよいかの扱いです。

Cursor CLIの-pは、そのままでは変更を提案するだけです。ファイルを実際に書き換えるには--force(別名--yolo)を足します。スクリプトで認証するときはCURSOR_API_KEY環境変数を使います。

# Cursor CLI: 提案だけ(ファイルは変わらない)
agent -p "Add JSDoc comments to this file"
 
# Cursor CLI: 実際に書き換える
agent -p --force "Add JSDoc comments to this file"

Claude Codeでは、同じ判断を権限モードで行います。確認なしで進める範囲を絞りたいならdontAskと許可ツールの組み合わせ、隔離環境で全部通すならbypassPermissions(--dangerously-skip-permissionsと同じ)です。

# Claude Code: 事前に許可したツールだけで動かす
claude -p "Summarize the open TODOs" \
  --permission-mode dontAsk \
  --allowedTools "Read"

出力形式は両者とも--output-formatでtext・json・stream-jsonを選べます。起動を軽くしたいスクリプトでは、Claude Code側に--bare(フック・スキル・MCPサーバー・CLAUDE.mdの自動読み込みを省く)があります。

指示ファイルとMCPは共有できるか

Cursorの指示は.cursor/rulesの.mdcファイルか、AGENTS.mdに書きます。.mdcはfrontmatterで「常に適用」「ファイルパターンで適用」などを切り替えます。拡張子が.mdのファイルは.cursor/rulesでは無視されます。

Claude CodeはCLAUDE.mdを読みます。AGENTS.mdだけがあるリポジトリでは、それを指示として読みます(v2.1.277以降)。CLAUDE.mdがあるときはCLAUDE.mdだけが読まれ、AGENTS.mdは読まれません。

注目したいのは、Cursor CLIがプロジェクトルートのAGENTS.mdとCLAUDE.mdも読み、.cursor/rulesと並べてルールとして適用する点です。CLAUDE.mdを整えてあるリポジトリなら、Cursor CLIでも同じ前提を渡せます。逆向きは、.mdcの細かい適用条件までは持ち込めません。両対応にするなら、共通ルールをCLAUDE.mdかAGENTS.mdに書き、.cursor/rulesは分けたい条件が出てから足す順序が無理のない進め方です。

MCPは設定を共有できます。Cursor CLIはエディタと同じmcp.jsonを使い、agent mcp list・agent mcp login・agent mcp enableなどで管理します。Claude Codeにはそれとは別の登録手順があるので、両方で同じサーバーを使うなら、Claude Code側にも登録が要ります。

クラウド実行と並列作業の違い

Cursor CLIでは、会話の途中で行頭に&を付けると、その会話をCloud Agentに送って手元を離れられます。続きはWebやモバイルのcursor.com/agentsで拾います。

Claude Codeにもクラウド実行がありますが、向きが違います。claude --cloudでタスクを新しく作るか、クラウド側のセッションを--teleportで手元のターミナルに引き寄せます。ターミナルの既存セッションをクラウドへ押し出す操作は、CLIからはできません。

観点Claude CodeCursor CLI
クラウドへ送るClaude Code--cloudで新規タスクを作るCursor CLI会話の途中で&を付ける
手元へ戻すClaude Code--teleportCursor CLIcursor.com/agents(Web・モバイル)で続ける
既存の会話を送るClaude CodeCLIからは不可Cursor CLI可

作業の並列化は、どちらもgit worktreeで分離できます。Claude Codeは<repo>/.claude/worktrees/<name>、Cursorは~/.cursor/worktrees/<repo>/<name>に作ります。リポジトリの中に作るか、ホーム配下にまとめるかが違います。

モデル選択とスキルの扱いはどう違うか

どちらも--modelでモデルを指定します。Claude Codeの--modelはsonnet・opus・haiku・fableといったエイリアスか、モデルの完全名を取ります。Cursor CLIの公式例はagent -p "..." --model "gpt-5"の形で、Cursorが対応する各社のモデルから選ぶ前提です。Claude Codeで使えるのはClaudeのモデルなので、モデルの選択肢の幅を重視するかどうかが、ここでの分かれ目になります。

スキルの呼び出しにも差があります。Cursor CLIでは、/メニューからスキルを選んでEnterを押すと、そのメッセージ1回だけに添付されます。Option+Enterで選ぶと、抜けるまで続く「カスタムモード」として動きます。Claude Codeのスキルは、モデルが必要と判断して読み込む形もあり、起動方法が単純な1対1の対応にはなりません。スキルを多用する運用では、ここで手順の差が出ます。

対話中の操作では、Cursor CLIにCtrl+Rの差分レビュー画面があり、iでその場で追加指示を出せます。@でファイルやフォルダを文脈に加え、/summarizeで文脈の空きを作ります。エディタを使わずに変更を読み直す手段が、CLIの中に用意されているということです。

サンドボックスの既定はどう違うか

Claude Codeのサンドボックスは、シェルコマンドを対象にした境界で、既定ではオフです。/sandboxで有効にします。ファイル編集ツールやMCPサーバーは、サンドボックスの外で動きます。

Cursor CLIは/sandboxか--sandbox enabled|disabledで切り替え、設定はセッションをまたいで保たれます。agent sandbox run <cmd>のように、1コマンドだけサンドボックスで試す使い方も用意されています。

隔離の実装そのものはOSやコンテナの層まで話が及ぶので、サンドボックス実装比較に任せます。ここで押さえておきたいのは、どちらも「入れれば安全」ではなく、範囲を決めて使う機能だという点です。

どちらを選ぶか

状況ごとに、決め手になる差を並べます。

くらべる

入口で選ぶ

ターミナル中心

Claude Code

ターミナルとCI中心で動く人向けです。権限モードで自律度を段階的に上げられ、AGENTS.mdだけのリポジトリにも入れます。

エディタ中心

Cursor

エディタでの編集が主で、CLIや&でのクラウド送りを補助に使う人向けです。Tab補完とAgentが同じ画面にあります。

迷うときは次の3問で切り分けられます。

  1. 作業の大半はエディタ内か、ターミナルか。エディタ内ならCursor、ターミナルならClaude Codeが素直です。
  2. スクリプトやCIに組み込むか。組み込むなら、--forceの要否と権限モードの違いを先に決めます。
  3. 手元を離れて走らせたいか。走らせている途中の会話を送りたいならCursorの&が合い、最初からクラウドで始めるならどちらでも成立します。

両方を使う場合は、指示ファイルを一本化し、MCPの登録は製品ごとに行うと割り切るのが現実的です。乗り換えを考えているなら、設定の移し方はCursorからClaude Codeへの移行ガイドが手順の形でまとめています。

比べるときにつまずきやすい点

  • agent -pで何も変わらない: --forceを付けていないためです。提案だけが出力されます。
  • .cursor/rulesにルールを置いたのに効かない: ファイルが.mdだと無視されます。.mdcにします。
  • CLAUDE.mdとAGENTS.mdが両方あるのにAGENTS.mdが効かない: Claude Codeは既定でCLAUDE.mdだけを読みます。読み込みは設定で変えられます。
  • Shift+Tabの動きが違う: Cursor CLIではAgent・Plan・Askを、Claude Codeでは権限モードを回します。同じキーでも切り替わる軸が別です。

まとめ

Claude CodeとCursorの違いは、機能の有無より「どこから入るか」に表れます。CLIの操作はほぼ対応していて、差が残るのは権限の考え方、--forceの有無、クラウドへの送り方、指示ファイルの形式です。ターミナルで完結させるならClaude Code、エディタを主にしてCLIを足すならCursorという切り分けが出発点になります。

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