NousResearch/hermes-agent · error · RuntimeError
Cron job '{job_id}' blocked for safety: {err}
Error message
Cron job '{job_id}' blocked for safety: {err} What it means
Error "Cron job '{job_id}' blocked for safety: {err}" thrown in NousResearch/hermes-agent.
Source
Thrown at cron/scheduler.py:3203
# error. But any job that DID set a base_url is refused until the
# validator can actually vet the pair. Operator fallback providers come
# from config, not the job, so they are unaffected.
if job.get("base_url"):
err = (
f"could not validate provider/base_url pair "
f"({exc.__class__.__name__}: {exc}); refusing to run a job with "
"an unverified base_url override"
)
else:
err = None
if err:
job_id = job.get("id")
logger.error(
"Job '%s': refusing to run — unsafe provider/base_url pair could "
"exfiltrate a stored credential: %s",
job_id, err,
)
raise RuntimeError(f"Cron job '{job_id}' blocked for safety: {err}")
# Marker prefix stamped into the error string returned by ``run_job`` when the
# pre-dispatch configuration validation (T1-26) refuses to run the agent.
# ``run_one_job`` keys off it to record ``last_status='blocked_config'`` and to
# apply the alert-once dedup. The ``:silent`` variant means "already alerted on
# a previous tick — do not deliver again".
BLOCKED_CONFIG_MARKER = "[blocked_config]"
BLOCKED_CONFIG_SILENT_MARKER = "[blocked_config:silent]"
# Marker prefix for a #44585 drift-guard skip. Same alert-once contract as
# blocked_config: run_one_job keys off it to record last_status and the
# ``:silent`` variant means "already alerted on a previous tick — do not
# deliver again" (the drift_alerted bit on the job record, #73506 shape).
DRIFT_SKIP_MARKER = "[drift_skip]"
DRIFT_SKIP_SILENT_MARKER = "[drift_skip:silent]"
View on GitHub (pinned to c896c09c42)
Solutions
- Read the block reason in the error and adjust the job to comply with the safety guard.
- Remove lifecycle or otherwise blocked commands from the job.
When it happens
Trigger: Thrown at cron/scheduler.py:3203 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of NousResearch/hermes-agent@c896c09c42 (2026-08-14).
Data as JSON: /api/errors/3d602e42fa03f631.
Report an issue: GitHub.