permissões OpenCode
Permissões do OpenCode: 7 decisões antes de pular prompts
Configure permissões do OpenCode com ask, allow, deny, --auto, diretórios externos e agentes sem esconder ações perigosas.
- Resposta rápida
- permissões OpenCode
- Atualizado em 30 de julho de 2026
- 16 min de leitura
Resposta rápida
permissões OpenCode: what to know first

O padrão seguro é perguntar no começo, permitir apenas ações repetidas e reversíveis, e negar comandos ou caminhos caros de reparar. A documentação do OpenCode separa allow, ask e deny; --auto aprova solicitações que não foram negadas explicitamente. Portanto --auto é conveniência, não política de segurança.
As buscas mostram intenção prática: reduzir confirmações repetidas sem liberar comandos destrutivos.
Este guia cobre repositórios locais, VS Code, Ollama, agents, MCP e tarefas próximas de CI, mantendo revisão para segredos, diretórios externos, deploy e arquivos gerados.
1. Entenda o modelo antes de pular prompts
OpenCode permissions definem permitir, perguntar ou bloquear. Use ask quando o risco não estiver claro, allow para tarefas estreitas testadas e deny para exclusão, deploy, segredos e caminhos externos. Nem todo prompt é ruído: alguns marcam mudança real de limite.
2. Use uma tabela de risco
Ler e listar arquivos costuma ser baixo risco. Editar docs pode começar em ask. Instalar pacotes, apagar, publicar, migrar e tocar produção deve ficar em ask ou deny. O contexto do repositório importa tanto quanto o tipo da ferramenta.
| Ação | Postura | Motivo |
|---|---|---|
| Ler arquivos | Allow ou ask inicial | Necessário para contexto. |
| Editar pequeno | Ask e allow estreito | Revise o primeiro diff. |
| Testes e formato | Ask ou comando exato | Seguro se conhecido. |
| Excluir ou deploy | Deny ou ask | Alto impacto. |

3. Use --auto só com deny revisado
`opencode --auto` aprova o que não está negado. Antes, bloqueie padrões destrutivos, arquivos de ambiente, chaves, deploys e diretórios fora do projeto. A resposta segura é uma política estreita, não um bypass geral.
4. Coloque regras onde possam ser revisadas
Regras do repositório ficam no projeto. Preferências pessoais podem ser globais. Exceções de agents ficam junto do agent. Não grave tokens em `opencode.json`.
5. Separe agents, MCP e ferramentas locais
Um agent de revisão pode ler sem escrever. Um agent de migração pode editar uma pasta, mas não fazer deploy. MCP pode alterar dados externos. Verifique a origem da permissão.
6. Teste em um repositório descartável
Use código pequeno, pasta gerada, `.env.example` e comando inofensivo. Rode casos allow, ask e deny. Se a regra permitir demais, reduza o padrão.

7. Isole uma camada por vez
Registre ferramenta, comando, caminho e agent. Depois confira diretório, caminho externo, MCP, hook, wrapper e config. Corrija o padrão estreito, não toda a categoria bash.
8. Revise a política antes de compartilhar com a equipe
Antes de transformar uma permissão do OpenCode em regra do projeto, teste a política com uma ação esperada e com uma ação que deve continuar pedindo confirmação. A revisão deve deixar claro qual ferramenta está coberta, qual comando ou caminho ficou limitado, quais riscos continuam em ask ou deny e como remover a regra rapidamente. Isso evita que `opencode --auto` aprove mais do que o time realmente pretendia.
A granularidade segura separa leitura, edição e execução. Leitura ampla costuma ser útil para contexto. Edição pode começar em ask e depois virar allow estreito quando o padrão é repetível. Bash exige comandos exatos: testes e formatadores conhecidos podem ser candidatos; instalação de pacotes, exclusões, deploy, migrações, arquivos de produção e segredos devem continuar com revisão explícita ou bloqueio. Se uma permissão única não persistir, registre o texto exato do prompt antes de ampliar a regra.
Para manter a configuração auditável, escreva ao lado da regra o motivo, um exemplo permitido, um exemplo negado, a data de verificação e a fonte oficial consultada. Essa nota ajuda quando uma atualização do OpenCode, um plugin, um hook, um agente ou um servidor MCP muda o comportamento da solicitação.
Também vale revisar a política periodicamente. Remova permissões de ferramentas que não são mais usadas, compare comandos aprovados com a estrutura atual do repositório e confirme se novos agentes ou servidores MCP não herdaram acesso amplo demais. Quando uma ação acontece raramente, ask costuma ser melhor que allow, porque a confirmação pontual é mais barata do que investigar um efeito colateral silencioso depois.
Separe exceções de Windows, WSL, macOS e tarefas próximas de CI. O mesmo comando pode tocar arquivos diferentes quando muda o diretório de trabalho. Essa separação mantém a política de permissões do OpenCode legível e reduz aprovações amplas que nasceram apenas para resolver um caso local.
Perguntas sobre permissões OpenCode
O que são permissões do OpenCode?
Elas controlam se uma ação é permitida, bloqueada ou enviada para aprovação.
O que faz opencode --auto?
Aprova o que não foi negado explicitamente.
Pular permissões é seguro?
Não como padrão global. Prefira uma política estreita e testada.
Devo permitir bash?
Apenas comandos exatos e de baixo risco; deploy, exclusão e segredos devem perguntar ou bloquear.
Fontes
A documentação oficial do OpenCode foi verificada em 30 de julho de 2026. Confira a sintaxe atual antes de alterar um repositório de produção.