Se você acompanha o ecossistema Claude de perto, sabe que cada atualização de SDK raramente é trivial. A versão v0.114.0 do SDK Python da Anthropic, lançada em 30 de junho de 2025, traz duas mudanças que merecem atenção imediata: suporte oficial ao Claude Sonnet 5 e uma correção relevante no comportamento de caminhos absolutos dentro do agent_toolset. O SDK TypeScript seguiu o mesmo ritmo com a versão v0.108.0, garantindo paridade entre as duas plataformas.
Neste post, você vai entender o que muda na prática, por que o alinhamento simultâneo entre os dois SDKs importa para times de produto, e como atualizar seu projeto sem dor de cabeça.
Claude Sonnet 5 chega ao SDK: o que isso significa para desenvolvedores
A linha Sonnet da Anthropic sempre ocupou uma posição estratégica no portfólio Claude: é onde inteligência e custo se encontram de forma equilibrada. Adicionar suporte a um novo modelo no SDK não é apenas um ajuste de string — significa que a biblioteca passa a reconhecer o identificador correto do modelo, encaminhar os parâmetros adequados para a API e garantir que os tipos e validações internas estejam consistentes com as capacidades declaradas pelo modelo.
Com o claude-sonnet-5 agora suportado oficialmente, você pode referenciar o modelo diretamente no seu código sem depender de workarounds ou strings não documentadas. Isso importa por três razões principais:
- Estabilidade de contrato: usar um modelo pelo identificador oficial significa que a Anthropic garante retrocompatibilidade naquele endpoint enquanto ele estiver ativo.
- Autocompletion e tipagem: em projetos TypeScript especialmente, o SDK tipado permite que seu editor sugira o modelo correto, reduzindo erros de digitação em produção.
- Rastreabilidade: logs e observabilidade ficam mais limpos quando o identificador de modelo é canônico.
Um exemplo mínimo de como chamar o Claude Sonnet 5 com o SDK Python atualizado:
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[
{"role": "user", "content": "Explique o conceito de RAG em três parágrafos."}
]
)
print(message.content[0].text)
E o equivalente em TypeScript com a v0.108.0:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const message = await client.messages.create({
model: "claude-sonnet-5",
max_tokens: 1024,
messages: [
{
role: "user",
content: "Explique o conceito de RAG em três parágrafos.",
},
],
});
console.log(message.content[0].text);
Nada de mágica — a mudança é cirúrgica e intencional. O identificador claude-sonnet-5 agora está no mapa interno do SDK, e isso é o suficiente para que tudo funcione de forma previsível.
A correção de caminhos absolutos no agent_toolset: por que isso importa
A segunda mudança da v0.114.0 é menos glamourosa, mas potencialmente mais impactante para quem já usa o agent_toolset em fluxos de automação: a correção que permite caminhos absolutos que resolvem dentro do diretório de trabalho (workdir).
Antes dessa correção, o agent_toolset rejeitava caminhos absolutos de forma indiscriminada — mesmo que o caminho absoluto fornecido apontasse para um arquivo dentro do diretório permitido. Isso forçava desenvolvedores a sempre trabalhar com caminhos relativos, o que em alguns contextos é simplesmente impraticável: pense em pipelines de CI/CD, containers Docker com volumes montados em caminhos fixos, ou scripts que recebem caminhos absolutos de ferramentas externas.
O comportamento correto — que a correção do PR #121 implementa — é: se um caminho absoluto resolve para dentro do workdir configurado, ele deve ser aceito. A restrição de segurança continua valendo para caminhos que escapam do diretório de trabalho, como tentativas de traversal (../../etc/passwd e similares).
Para ilustrar, imagine um agente configurado com workdir=/app/data:
# Antes da correção: BLOQUEADO mesmo sendo seguro
tool.read_file("/app/data/relatorio.csv")
# Depois da correção: PERMITIDO, pois resolve dentro do workdir
tool.read_file("/app/data/relatorio.csv")
# Ainda bloqueado, como deve ser:
tool.read_file("/etc/passwd")
tool.read_file("/app/data/../../etc/passwd")
Essa distinção é fundamental para qualquer time que usa o Claude Code ou agentes baseados em agent_toolset em ambientes de produção onde os caminhos são definidos por variáveis de ambiente ou configurações externas — não pelo próprio script Python.
Por que isso é relevante para segurança? A lógica de resolução de caminhos é uma das superfícies mais clássicas de vulnerabilidade em ferramentas que manipulam arquivos. A correção não relaxa a segurança — ela a torna mais precisa. Rejeitar um caminho absoluto legítimo é um falso positivo que força o desenvolvedor a fazer workarounds, e workarounds costumam ser menos seguros que o mecanismo oficial.
Como atualizar seu projeto agora
A atualização é direta. Para o SDK Python, você precisa da versão 0.114.0 ou superior:
# Com pip
pip install --upgrade anthropic
# Verificando a versão instalada
pip show anthropic | grep Version
# Com uv (recomendado para projetos modernos)
uv add anthropic
# Fixando a versão mínima no pyproject.toml
# anthropic = ">=0.114.0"
Para o SDK TypeScript/Node.js, atualize para a 0.108.0:
# Com npm
npm install @anthropic-ai/sdk@latest
# Com yarn
yarn add @anthropic-ai/sdk@latest
# Com pnpm
pnpm add @anthropic-ai/sdk@latest
# Verificando
node -e "console.log(require('@anthropic-ai/sdk/package.json').version)"
Pontos de atenção antes de atualizar em produção:
- Revise seus testes de integração — se você mocka chamadas ao SDK, certifique-se de que o identificador de modelo nos mocks está atualizado.
- Verifique o
agent_toolset— se você tem lógica que trata erros de caminho negado, o comportamento pode mudar para caminhos que antes falhavam e agora passam. Isso é esperado, mas pode exigir ajuste nos fluxos de tratamento de erro. - Ambientes com versão fixada — se seu
requirements.txtoupackage.jsonespecifica uma versão exata, lembre de atualizar o pin manualmente. - Changelogs como hábito — a Anthropic mantém changelogs detalhados no GitHub para ambos os SDKs. Vale bookmarcar e incluir na sua rotina de revisão de dependências.
Por que o alinhamento entre Python e TypeScript importa
Um detalhe que pode passar despercebido: Python e TypeScript receberam suporte ao Claude Sonnet 5 na mesma janela de lançamento. Isso não é acidente — a Anthropic tem investido consistentemente em manter paridade entre os dois SDKs oficiais, o que é um sinal de maturidade para times que operam em múltiplas linguagens ou que têm serviços em Python dialogando com frontends em TypeScript/Next.js.
Para empreendedores e líderes técnicos, isso reduz o risco de ter um ambiente de desenvolvimento em uma versão e produção em outra — um dos vetores mais comuns de bugs sutis em projetos que evoluem rápido.
Conclusão
A v0.114.0 do SDK Python e a v0.108.0 do SDK TypeScript da Anthropic são atualizações pontuais, mas com impacto real: suporte oficial ao Claude Sonnet 5 para quem quer usar o modelo mais recente da linha com confiança, e uma correção de comportamento no agent_toolset que remove uma fricção genuína para times que trabalham com agentes em ambientes de produção.
Se você está construindo aplicações com Claude, atualize agora. Não há breaking changes documentados, o processo é de minutos, e você garante acesso ao modelo mais recente com o comportamento correto de segurança de caminhos.
E se você ainda não está acompanhando os releases do SDK no GitHub, este é um bom momento para começar — os changelogs da Anthropic são um dos recursos mais subestimados para quem quer manter aplicações Claude em dia.
Fontes
- anthropics/anthropic-sdk-python — Release v0.114.0 — Anthropic (GitHub)
- anthropics/anthropic-sdk-python — Comparativo v0.113.0…v0.114.0 — Anthropic (GitHub)
- Issue #121 — agent_toolset: allow absolute paths that resolve inside workdir — Anthropic (GitHub)
- anthropics/anthropic-sdk-typescript — Anthropic (GitHub)
- Anthropic API Documentation — Anthropic



