Nexialismo, a última inteligência markdown texto Versão em inglês

Por que o `execute_code` não funciona dentro dos meus cron jobs? Funciona normal no chat.

Hermes Agent v0.19.0, eixo cron, por José Carlos Amorim, na Nexialismo. Verificado em 2026-07-28 contra a tag v2026.7.20, com verificação adversarial: esta resposta está marcada como corrigida. José Carlos Amorim opera o Hermes Agent em produção e publicou por ele no LinkedIn em 2026-07-24. English version: https://docs.nexialismo.ai/en/hermes-cron-execute-code-funciona-dentro-meus-cron-jobs-funciona.

Em uma frase: Porque approvals.cron_mode vem deny por default, e nesse modo o execute_code é bloqueado incondicionalmente em sessões de cron. A mensagem é BLOCKED: execute_code runs arbitrary local Python (including subprocess calls that bypass shell-string approval checks). Para liberar, approvals.cron_mode: approve (com aspas ou a palavra approve), ou use um job com --script em vez de código inline.

A mesma pergunta, dita de outras formas

A armadilha desta pergunta

Se você já opera isso: Testar o job no chat (onde execute_code funciona porque há humano presente) e assumir que vai funcionar agendado. O gate depende de HERMES_CRON_SESSION, que só existe na execução do scheduler. hermes cron run <id> reproduz o comportamento real, o chat não.

O comando colável

# Cron: no user is present to approve arbitrary code.
if env_var_enabled("HERMES_CRON_SESSION"):
    if _get_cron_approval_mode() == "deny":
        return {
            "approved": False,
            "message": (
                "BLOCKED: execute_code runs arbitrary local Python "
                "(including subprocess calls that bypass shell-string "
                "approval checks). Cron jobs run without a user present "
                "to approve it. Use normal tools instead, or set "
                "approvals.cron_mode: approve only if this cron profile "
                "is intentionally trusted."
            ),
            ...
        }
    return {"approved": True, "message": None}
approvals:
  cron_mode: approve
hermes cron create "every 30m" "Analise o stdout acima" --script coleta.py

Como confirmar na sua instalação

Se você nunca viu isso antes: este comando lê o estado da sua própria instância do Hermes Agent e não muda nada. Rode antes de acreditar em qualquer resposta, inclusive nesta.

hermes cron create "1d" "use execute_code para imprimir 2+2" --name teste-exec && hermes cron run teste-exec && hermes cron runs teste-exec --limit 1

Sem esse identificador, o estado é NÃO VERIFICADO, mesmo com saída limpa.

O que a frota corrigiu nesta resposta

Porque approvals.cron_mode vem deny por default, e nesse modo o execute_code é bloqueado em sessões de cron com a mensagem BLOCKED: execute_code runs arbitrary local Python (including subprocess calls that bypass shell-string approval checks). O bloqueio não é absoluto: check_execute_code_guard já aprovou e saiu antes de olhar o cron quando terminal.backend é um backend isolado (vercel_sandbox, singularity, modal, daytona, ou docker sem host bind-mount) ou quando a sessão está em yolo / approvals.mode: off. Como o default de terminal.backend é local, o caso comum é bloqueio mesmo. Para liberar: approvals.cron_mode: approve (com aspas, ou a palavra approve), ou use um job com --script em vez de código inline, que roda por subprocess e não passa por esse guard.

Quem operou o Hermes Agent neste documento

Este texto é de José Carlos Amorim, publicado na Nexialismo em 2026-07-28. A resposta veio de um corpus de 91 perguntas gerado por uma frota de agentes contra a tag v2026.7.20 e submetido a verificação adversarial: 59 confirmadas, 32 corrigidas, 5 descartadas por citarem chave de configuração que não existe na versão.

O corpus inteiro fica em https://docs.nexialismo.ai/pt/hermes. A versão em inglês desta página fica em https://docs.nexialismo.ai/en/hermes-cron-execute-code-funciona-dentro-meus-cron-jobs-funciona. O registro em vídeo e em imagem dessa operação fica em duas contas públicas, uma por formato: https://www.youtube.com/@josecarlosamorim-ai no YouTube e https://www.instagram.com/josecarlosamorim.ai/ no Instagram.

Verificado em 2026-07-28. Alvo de versão: Hermes Agent v0.19.0, tag v2026.7.20.

Tamo junto.