NousResearch/hermes-agent · error · ValueError
Cron workdir does not exist: {resolved}
Error message
Cron workdir does not exist: {resolved} What it means
Error "Cron workdir does not exist: {resolved}" thrown in NousResearch/hermes-agent.
Source
Thrown at cron/jobs.py:1425
scheduler will just fall back to old behaviour with a logged warning).
Returns the absolute path string, or None when disabled.
Raises ValueError on invalid input.
"""
if workdir is None:
return None
raw = str(workdir).strip()
if not raw:
return None
expanded = Path(raw).expanduser()
if not expanded.is_absolute():
raise ValueError(
f"Cron workdir must be an absolute path (got {raw!r}). "
f"Cron jobs run detached from any shell cwd, so relative paths are ambiguous."
)
resolved = expanded.resolve()
if not resolved.exists():
raise ValueError(f"Cron workdir does not exist: {resolved}")
if not resolved.is_dir():
raise ValueError(f"Cron workdir is not a directory: {resolved}")
return str(resolved)
def _resolve_default_model_snapshot() -> Optional[str]:
"""Resolve the global default model the same way the cron ticker does.
Mirrors the unpinned-model resolution in ``cron/scheduler.py`` ``run_job``:
read ``config.yaml`` ``model.default`` (or the ``model`` alias / bare string
form), applying the managed-scope overlay and env expansion. Used by
``create_job`` to snapshot the default model for unpinned jobs so a later
swap of the global default is detected at fire time (#44585).
Returns the resolved model string, or ``None`` if config is missing/empty
or resolution fails (fail-open — caller treats ``None`` as "no snapshot").
"""
try:View on GitHub (pinned to c896c09c42)
Solutions
- Create the workdir first, or point the job at an existing directory.
When it happens
Trigger: Thrown at cron/jobs.py:1425 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/9d794125e73d10d6.
Report an issue: GitHub.