Skip to main content

Command Palette

Search for a command to run...

CLI

権限

CLI設定の権限トークンを使用して、エージェントに許可する操作を設定します。権限は ~/.cursor/cli-config.json (グローバル) または <project>/.cursor/cli.json (プロジェクト固有) で設定します。

権限の種類

シェルコマンド

形式: Shell(commandBase)

シェルコマンドの実行を制御します。commandBase はコマンドラインの先頭のトークンです。グロブパターンと、より細かく制御するための任意の command:args 構文をサポートします。

例説明
Shell(ls)ls コマンドの実行を許可
Shell(git)すべての git サブコマンドを許可
Shell(npm)npm パッケージマネージャーのコマンドを許可
Shell(curl:*)任意の引数を指定した curl を許可
Shell(rm)破壊的なファイル削除を拒否 (通常は deny で使用)

ファイルの読み取り

形式: Read(pathOrGlob)

ファイルとディレクトリの読み取り権限を制御します。グロブパターンをサポートしています。

例説明
Read(src/**/*.ts)src 内の TypeScript ファイルの読み取りを許可
Read(**/*.md)任意の場所にある Markdown ファイルの読み取りを許可
Read(.env*)環境ファイルの読み取りを拒否
Read(/etc/passwd)システムファイルの読み取りを拒否

ファイルの書き込み

形式: Write(pathOrGlob)

ファイルやディレクトリへの書き込み権限を制御します。グロブパターンをサポートしています。Print modeでは、writeツールとshellツールを使用できます。permissions.allow、permissions.deny、--forceを使用して、プロンプトなしで実行できる内容を制御します。

例説明
Write(src/**)src配下のすべてのファイルへの書き込みを許可
Write(package.json)package.jsonの変更を許可
Write(**/*.key)private keyファイルへの書き込みを拒否
Write(**/.env*)環境ファイルへの書き込みを拒否

Web fetch

形式: WebFetch(domainOrPattern)

Web fetch ツールの使用時に、エージェントが取得できるドメインを制御します (例: ドキュメントや Web ページの取得) 。許可リストのエントリがない場合は、取得のたびに承認を求められます。信頼できるソースからの取得を自動承認するには、ドメインを allow に追加します。

例説明
WebFetch(docs.github.com)docs.github.com からの取得を許可
WebFetch(*.example.com)example.com の任意のサブドメインからの取得を許可
WebFetch(*)任意のドメインからの取得を許可 (使用には注意が必要)

ドメインパターンのマッチング:

  • * はすべてのドメインに一致します
  • *.example.com はサブドメインに一致します (例: docs.example.com、api.example.com)
  • example.com はそのドメインにのみ完全一致します

MCP ツール

形式: Mcp(server:tool)

エージェントが実行できる MCP (Model Context Protocol) ツールを指定します。server (mcp.json のサーバー名) と tool 名を使用し、ワイルドカードには * を使用します。

例説明
Mcp(datadog:*)Datadog MCP サーバーのすべてのツールを許可
Mcp(*:search)任意のサーバーの search ツールを許可
Mcp(*:*)すべての MCP ツールを許可 (要注意)

設定

CLIの設定ファイル内の permissions オブジェクトに権限を追加します。

{  "permissions": {    "allow": [      "Shell(ls)",      "Shell(git)",      "Read(src/**/*.ts)",      "Write(package.json)",      "WebFetch(docs.github.com)",      "WebFetch(*.github.com)",      "Mcp(datadog:*)"    ],    "deny": [      "Shell(rm)",      "Read(.env*)",      "Write(**/*.key)",      "WebFetch(malicious-site.com)"    ]  }}

パターンマッチング

  • グロブパターンでは、**、*、? をワイルドカードとして使用します
  • 相対パスは現在のワークスペースを基準とします
  • 絶対パスではプロジェクト外のファイルをターゲットにできます
  • 拒否ルールは許可ルールより優先されます
  • command:args (例: curl:*) を使用すると、コマンドと引数の両方をグロブでマッチできます