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.
#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',
},
});