Toda falha gerada pelo próprio Thinker (e não pelo provedor) traz um código M### no texto, no formato [🦚 Thinker M100] ... See <link>. O link aponta para a seção correspondente desta página. O catálogo canônico fica em packages/backend/src/common/errors/error-codes.ts.
Cabeçalho Authorization ausente. Envie a chave como Authorization: Bearer thk_<sua-chave> ou x-api-key: thk_<sua-chave>.
Token Bearer vazio. Cole a chave do Thinker no cabeçalho.
Formato de chave inválido. Chaves do Thinker começam com thk_. Copie a sua no dashboard.
Chave expirada. Gere uma nova chave no dashboard.
Chave não reconhecida. Ela pode ter sido rotacionada ou apagada. Copie a chave atual no dashboard.
Chaves conflitantes. Os cabeçalhos Authorization e x-api-key trazem credenciais diferentes. Envie a chave em só um deles, ou a mesma nos dois.
Chave de API do provedor ausente. Cadastre a chave do provedor na página de roteamento do agente.
Nenhum modelo para rotear. Escolha um modelo padrão para o agente no dashboard.
Credenciais de assinatura inutilizáveis. O Thinker não conseguiu renovar o OAuth da assinatura. Reconecte o provedor no dashboard.
Limite de uso excedido. O agente atingiu um limite configurado. Ajuste-o na página de limites do agente.
Limite de requisições por usuário excedido. Aguarde alguns segundos e tente de novo.
Limite de requisições por IP excedido. Aguarde alguns segundos e tente de novo.
Limite de concorrência excedido. Há requisições simultâneas demais; aguarde um momento.
Array messages ausente. O corpo da requisição precisa do campo messages.
Modelo virtual sem rota disponível. O model pedido é um modelo virtual ativo do harness, mas nenhuma rota da cadeia dele está disponível agora: o provedor, o modelo ou a credencial de cada rota sumiu, ou nenhuma rota atende ao modo de resposta do virtual. Um virtual sem nenhum modelo cai no mesmo caso. O Thinker não cai para auto nem para outra regra, e o pedido não chega a nenhum provedor. A mensagem muda conforme a opção "Continue on Default":
- desligada: a mensagem sugere
Fix its chain, or turn on "Continue on Default", isto é, corrija a cadeia ou ligue a opção; - ligada: a mensagem diz que o tier Default em que ele continua também não tem rota disponível (
Fix its chain or the Default tier); corrija a cadeia do virtual ou o tierdefault.
As duas correções ficam na tela Routing do harness. O cabeçalho X-Thinker-Virtual-Model da resposta traz o nome do virtual (veja os cabeçalhos).
Modelo indisponível. O modelo pedido não está disponível para este agente. Use GET /v1/models para listar os IDs disponíveis, ou habilite o provedor para o agente no dashboard.
Estado de resposta não suportado. A requisição da Responses API trouxe previous_response_id, conversation ou um item item_reference. O Thinker não guarda respostas, então não consegue resolver essas referências. Reenvie a conversa inteira em input com store: false (no Vercel AI SDK, providerOptions: { openai: { store: false } }).
Erro interno. Algo falhou no Thinker. Tente de novo em instantes; se persistir, veja os logs do servidor.