Permissões de tools
Permissões definem quando uma tool pode executar diretamente e quando precisa de confirmação humana.
#Modelo de decisão
Cada tool pode receber uma política:
| Política | Comportamento |
|---|---|
always_allow | A plataforma executa a tool quando o modelo solicitar. |
always_ask | A execução pausa e emite um pedido de confirmação. |
Built-ins partem de um padrão mais permissivo. Tools MCP partem de um padrão mais conservador, porque podem representar sistemas externos com efeito de negócio. Os valores exatos de cada padrão estão em permissões por tool na referência.
#Quando pedir confirmação
Use confirmação humana para tools que:
- alteram dados de cliente, apólice, cobrança ou sinistro;
- acessam sistemas externos em nome do usuário;
- fazem navegação autenticada;
- enviam mensagens, criam registros ou disparam workflows;
- podem gerar custo financeiro ou obrigação regulatória.
#Fluxo de aprovação
Quando uma tool exige confirmação, o stream entrega um evento de tool pendente. Seu produto apresenta o pedido ao usuário ou operador. A resposta entra como evento de confirmação com decisão allow ou deny.
Esse desenho mantém a session contínua: o agent não perde contexto enquanto aguarda autorização.
#Configuração
ts
await client.agents.create({
name: 'Operador de cobrança',
model: 'anthropic/claude-haiku-4-5',
tools: ['web_fetch', 'browser_navigate'],
toolPermissions: {
web_fetch: 'always_allow',
browser_navigate: 'always_ask',
billing__create_invoice: 'always_ask',
},
});