Skip to main content

Command Palette

Search for a command to run...

Agente

Modos de execução

Os modos de execução controlam como o agente do Cherri Code executa chamadas de ferramenta e quando o Cherri Code solicita sua aprovação.

Use-os para definir quanta autonomia o agente tem para executar comandos de shell, usar ferramentas MCP e fazer chamadas Fetch. A configuração mais segura e útil para a maioria das pessoas é Auto-review. Ela executa chamadas reconhecidamente seguras, isola comandos de shell quando possível e pede a um classificador para revisar todo o resto.

Escolha um modo

No app para desktop, acesse Configurações > Agentes > Aprovações e execução.

ModoO que é executado sem pedir aprovaçãoSandboxClassificadorUse quando
Auto-reviewChamadas da lista de permissão são executadas imediatamente. Outros comandos de shell são executados no sandbox quando possível. Chamadas que não usam o sandbox são enviadas ao classificador do Auto-review.Sim, para comandos de shellSimVocê quer menos prompts, com uma revisão de segurança antes da execução de chamadas de maior risco.
Lista de permissãoAções da sua lista de permissão são executadas sem aprovação. Com o sandboxing habilitado, comandos de shell compatíveis podem ser executados no sandbox.Opcional, para comandos de shellNãoVocê quer um comportamento determinístico com um pequeno conjunto de ações repetidas confiáveis.
Executar tudoTodas as chamadas de ferramenta são executadas automaticamente.NãoNãoVocê aceita o risco e não quer nenhum prompt.

Como funciona o Auto-review

O Auto-review se aplica a chamadas de ferramenta de shell, MCP e Fetch. O Cherri Code verifica cada chamada nesta ordem:

Um comando de shell "pode ser executado no sandbox" quando funciona dentro das limitações de arquivos e rede do sandbox. Comandos que precisam de acesso total ao sistema, como gravações fora do espaço de trabalho ou operações privilegiadas, não podem ser executados no sandbox e vão para o classificador.

O sandboxing é uma camada adicional aos modos de execução para comandos de shell. Ele controla onde um comando de terminal compatível é executado, e não se o modo usa o classificador do Auto-review.

Quando o classificador bloqueia uma chamada, o Cherri Code pode tentar outra abordagem. Se o agente decidir que a ação faz sentido apesar da decisão do classificador, o Cherri Code mostrará uma solicitação de aprovação.

Requisitos do classificador do Auto-review

O classificador do Auto-review é executado em um modelo compacto gerenciado pelo Cherri Code. Atualmente, é Claude 4.5 Haiku ou GPT-5.4 Mini.

Os controles de acesso a modelos corporativos se aplicam. O Auto-review fica disponível quando pelo menos um desses modelos é permitido para a equipe. Bloquear todos eles desativa o Auto-review em Configurações > Agentes > Aprovações e execução, mesmo que os modos de execução da equipe o incluam. Nesse caso, os membros usam a lista de permissão.

Se o Auto-review estiver esmaecido, habilite esses modelos em Configurações da equipe → Modelos, feche o Cherri Code completamente, reabra-o e verifique Aprovações e execução novamente.

Configurando o Auto-review

Não é necessário configurar o Auto-review para que ele funcione bem. Se houver ações específicas que você sempre queira revisar manualmente, descreva-as em linguagem simples.

A maneira mais fácil de configurar isso é pedir ao agente do Cherri Code para fazer isso. Diga algo como "Quero que todo comando da AWS CLI passe por aprovação primeiro", e ele editará seu permissions.json para você.

Você também pode editar o arquivo manualmente. O Auto-review lê o permissions.json em dois locais:

LocalEscopo
~/.cursor/permissions.jsonAplica-se a todos os diretórios de projeto na sua máquina.
<project-dir>/.cursor/permissions.jsonAplica-se a um diretório de projeto. Faça commit dele quando o projeto precisar compartilhar as mesmas orientações.

Se ambos os arquivos existirem, o Cherri Code os combina. Suas instruções pessoais e as instruções do projeto serão aplicadas.

As equipes também podem definir uma configuração global do Auto-review no dashboard. Quando uma configuração de equipe é definida, ela tem prioridade, e o Cherri Code ignora os arquivos de nível de usuário e de nível de projeto.

Ambos os arquivos locais usam o mesmo schema. Cada instrução é uma frase em linguagem simples, portanto, uma solicitação como "Quero que todo comando da AWS CLI passe por aprovação primeiro" é mapeada diretamente para block_instructions:

{  "autoRun": {    "allow_instructions": [],    "block_instructions": [      "Every AWS CLI command should go through approval first.",      "Every command that modifies Kubernetes resources should go through approval first."    ]  }}
  • allow_instructions descrevem ações que o Auto-review deve priorizar permitir.
  • block_instructions descrevem ações que o Auto-review deve priorizar bloquear, para que o agente possa escolher outro caminho ou pedir sua aprovação.

Para saber mais sobre a criação de políticas, leia Governing agent autonomy with Auto-review.

Sandboxing

O sandboxing permite que o Cherri Code execute comandos de terminal sem conceder acesso total à máquina. Um comando em sandbox pode operar no seu projeto, mas não pode ler livremente arquivos protegidos, gravar fora dos caminhos aprovados nem se conectar a destinos de rede arbitrários.

Para uma análise técnica detalhada, leia Implementing a secure sandbox for local agents.

AcessoComportamento padrão do sandbox para comandos de terminal
Arquivos do espaço de trabalhoAcesso de leitura e gravação dentro do espaço de trabalho. .cursorignore pode ocultar arquivos do agente.
Caminhos protegidosO Cherri Code protege caminhos como .git/config, .git/hooks, .vscode, .cursorignore e arquivos de configuração sensíveis do Cherri Code.
RedeBloqueada por padrão e liberada pelo modo de rede e pelo sandbox.json.
Arquivos temporários/tmp e diretórios temporários da plataforma são graváveis, a menos que isso seja desativado em sandbox.json.

Alguns comandos precisam de acesso total ao sistema e ignoram o sandbox. O Cherri Code indicará quando um comando for executado fora do sandbox e solicitará sua aprovação.

Configuração do sandbox

Personalize o comportamento do sandbox com um arquivo sandbox.json:

LocalEscopo
~/.cursor/sandbox.jsonAplica-se a todos os diretórios de projeto na sua máquina.
<project-dir>/.cursor/sandbox.jsonAplica-se a um diretório de projeto. Faça commit dele quando o projeto precisar compartilhar as mesmas regras de sandbox.

Se ambos os arquivos existirem, o Cherri Code os mesclará, com o arquivo no nível do projeto tendo prioridade. As políticas do admin da equipe e as regras de segurança hardcoded do Cherri Code se sobrepõem a eles, portanto os arquivos locais não podem enfraquecer essas proteções.

Use o sandbox.json para controlar a política de rede, caminhos adicionais com permissão de leitura ou gravação, gravações em diretórios temporários e caches de build compartilhados. Consulte a referência do sandbox.json para ver o schema completo.

Como o sandboxing funciona na sua plataforma

O Cherri Code usa o Seatbelt via sandbox-exec. Um perfil de sandbox gerado limita o acesso a arquivos, à rede e outros comportamentos de processos em toda a árvore de subprocessos.

Requisitos

  • Cherri Code v2.0 ou posterior
  • Não requer configuração adicional

Variáveis de ambiente

O Cherri Code injeta variáveis de ambiente em todos os processos შვილos em sandbox. Elas ficam disponíveis para seus scripts, ferramentas de build e automações executados dentro do sandbox.

VariávelPlataformasDescrição
CURSOR_SANDBOXmacOS, LinuxDefinida como "seatbelt" (macOS) ou "native" (Linux) quando o processo é executado dentro do sandbox.
CURSOR_ORIG_UIDmacOS, LinuxO UID do usuário que iniciou o Cherri Code, capturado antes que o sandbox aplique alterações de namespace ou identidade.
CURSOR_ORIG_GIDmacOS, LinuxO GID do usuário que iniciou o Cherri Code, capturado antes das alterações de identidade aplicadas pelo sandbox.
CURSOR_SANDBOX_LANDLOCK_STATUSLinuxInforma o backend de sandbox ativo: fully_enforced (Landlock) ou bubblewrap (fallback do Bubblewrap). Útil para diagnósticos.

Automação do Docker e de contêineres

Um padrão comum em regras e scripts de automação é executar contêineres Docker que precisam usar a identidade do usuário do host. Como o sandbox remapeia o UID no Linux, $(id -u) retorna o valor incorreto. Em vez disso, use as variáveis CURSOR_ORIG_*:

docker run --rm \  --user "${CURSOR_ORIG_UID:-$(id -u)}:${CURSOR_ORIG_GID:-$(id -g)}" \  -v "$PWD:/work" -w /work \  my-image build

O fallback ${CURSOR_ORIG_UID:-$(id -u)} garante que o comando também funcione fora do sandbox, onde as variáveis não estão definidas.

Acesso à rede

Escolha como os comandos de terminal em sandbox acessam a rede:

ModoComportamento
Somente sandbox.jsonO acesso à rede é limitado aos domínios da lista de permissão no seu sandbox.json. Os valores padrão do Cherri Code não são adicionados.
sandbox.json + valores padrãoSua lista de permissão mais os padrões integrados do Cherri Code para gerenciadores de pacotes e ferramentas de linguagem comuns. Esta é a opção padrão.
Permitir tudoTodo o acesso à rede é permitido no sandbox, independentemente do sandbox.json.

*.cloudflarestorage.com*.docker.com*.docker.io*.googleapis.com*.githubusercontent.com*.gvt1.com*.public.blob.vercel-storage.com*.yarnpkg.comalpinelinux.organaconda.comapache.orgapt.llvm.orgarchive.ubuntu.comarchlinux.orgawscli.amazonaws.comazure.combinaries.prisma.shbitbucket.orgcentos.orgcloudflarestorage.comcocoapods.orgcodeload.github.comcpan.orgcrates.iodebian.orgdl.google.comdocker.comdocker.iodot.netdotnet.microsoft.comeclipse.orgfedoraproject.orgfiles.pythonhosted.orgfonts.gstatic.comgcr.ioghcr.iogithub.comgitlab.comgolang.orggoogle.comgoproxy.iogradle.orghaskell.orghashicorp.comhex.pmindex.crates.iojava.comjava.netjson-schema.orgjson.schemastore.orgk8s.iolaunchpad.netmaven.orgmcr.microsoft.commetacpan.orgmicrosoft.commise.runnodejs.orgnpm.duckdb.orgnpmjs.comnpmjs.orgnuget.orgoracle.compackagecloud.iopackages.microsoft.compackagist.orgpkg.go.devplaywright.azureedge.netppa.launchpad.netproxy.golang.orgpub.devpublic.blob.vercel-storage.compublic.ecr.awspypa.iopypi.orgpypi.python.orgpythonhosted.orgquay.ioregistry.npmjs.orgregistry.yarnpkg.comrepo.maven.apache.orgruby-lang.orgrubygems.orgrubyonrails.orgrustup.rsrvm.iosecurity.ubuntu.comsh.rustup.rssourceforge.netspring.iostatic.crates.iostatic.rust-lang.orgsum.golang.orgswift.orgubuntu.comvisualstudio.comyarnpkg.comziglang.org

Outras proteções

Os modos de execução e o sandboxing não são os únicos controles de segurança. Estas proteções podem exigir aprovação mesmo quando um modo seria executado automaticamente:

ProteçãoO que faz
Proteção do navegadorImpede que o agente execute automaticamente ferramentas de navegador.
Proteção contra exclusão de arquivosImpede que o agente exclua arquivos automaticamente, incluindo comandos rm.
Proteção de arquivos externosImpede que o agente crie, modifique ou exclua automaticamente arquivos fora do espaço de trabalho.

Controles da equipe

Admins podem determinar quais modos estão disponíveis para seus usuários, além de configurar as regras de rede do sandbox para comandos de terminal e muito mais. Todas essas configurações estão disponíveis no dashboard web.

As configurações da equipe têm precedência sobre as configurações individuais e do projeto. Use-as quando quiser estabelecer uma base consistente para todos. Se você ativar o Auto-review para a equipe, mantenha permitido um dos modelos de que o classificador precisa no controle de acesso a modelos.

Registro de alterações

Versão do Cherri CodeDataAlteração
3.629 de maio de 2026Auto-review passou a ser o padrão recomendado.
3.522 de maio de 2026Ask Every Time foi descontinuado. Novos usuários não podem selecioná-lo. Use Allowlist com uma lista de permissão vazia para obter o mesmo comportamento. Run in Sandbox foi incorporado ao Allowlist com o sandboxing habilitado.