Skip to main content

Command Palette

Search for a command to run...

CLI

Permissões

Configure o que o agente pode fazer usando tokens de permissão na configuração da CLI. As permissões são definidas em ~/.cursor/cli-config.json (global) ou <project>/.cursor/cli.json (específica do projeto).

Tipos de permissão

Comandos do shell

Formato: Shell(commandBase)

Controla o acesso a comandos do shell. O commandBase é o primeiro token da linha de comando. Oferece suporte a padrões glob e à sintaxe opcional command:args para um controle mais preciso.

ExemploDescrição
Shell(ls)Permitir a execução de comandos ls
Shell(git)Permitir qualquer subcomando do git
Shell(npm)Permitir comandos do gerenciador de pacotes npm
Shell(curl:*)Permitir curl com quaisquer argumentos
Shell(rm)Negar a remoção destrutiva de arquivos (comum em deny)

Leitura de arquivos

Formato: Read(pathOrGlob)

Controla o acesso de leitura a arquivos e diretórios. Oferece suporte a padrões glob.

ExemploDescrição
Read(src/**/*.ts)Permite ler arquivos TypeScript em src
Read(**/*.md)Permite ler arquivos markdown em qualquer lugar
Read(.env*)Nega a leitura de arquivos de ambiente
Read(/etc/passwd)Nega a leitura de arquivos do sistema

Gravação em arquivos

Formato: Write(pathOrGlob)

Controla o acesso de gravação a arquivos e diretórios. Oferece suporte a padrões glob. O modo de impressão pode usar as ferramentas de gravação e shell. Use permissions.allow, permissions.deny e --force para controlar o que é executado sem prompts.

ExemploDescrição
Write(src/**)Permitir gravação em qualquer arquivo em src
Write(package.json)Permitir modificar package.json
Write(**/*.key)Negar gravação em arquivos de chaves privadas
Write(**/.env*)Negar gravação em arquivos de ambiente

Consulta na web

Formato: WebFetch(domainOrPattern)

Controla quais domínios o agente pode consultar ao usar a ferramenta de consulta na web (por exemplo, para acessar documentação ou páginas da web). Sem uma entrada na lista de permissão, cada consulta solicita aprovação. Adicione domínios a allow para aprovar automaticamente consultas de fontes confiáveis.

ExemploDescrição
WebFetch(docs.github.com)Permitir consultas em docs.github.com
WebFetch(*.example.com)Permitir consultas em qualquer subdomínio de example.com
WebFetch(*)Permitir consultas em qualquer domínio (use com cautela)

Correspondência de padrões de domínio:

  • * corresponde a todos os domínios
  • *.example.com corresponde a subdomínios (por exemplo, docs.example.com, api.example.com)
  • example.com corresponde apenas a esse domínio exato

Ferramentas MCP

Formato: Mcp(server:tool)

Controla quais ferramentas MCP (Model Context Protocol) o agente pode executar. Use o server (do mcp.json) e o nome da tool, com * como curinga.

ExemploDescrição
Mcp(datadog:*)Permite todas as ferramentas do servidor MCP Datadog
Mcp(*:search)Permite a ferramenta search de qualquer servidor
Mcp(*:*)Permite todas as ferramentas MCP (use com cautela)

Configuração

Adicione permissões ao objeto permissions no arquivo de configuração da CLI:

{  "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)"    ]  }}

Correspondência de padrões

  • Padrões glob usam os curingas **, * e ?
  • Caminhos relativos se aplicam ao espaço de trabalho atual
  • Caminhos absolutos podem direcionar arquivos fora do projeto
  • Regras de negação têm precedência sobre regras de permissão
  • Use command:args (por exemplo, curl:*) para corresponder ao comando e aos argumentos com globs