NousResearch/hermes-agent · error
Remote connection is not ready yet. Try again in a moment.
Error message
Remote connection is not ready yet. Try again in a moment.
What it means
ValueError from _validate_workdir (cron/jobs.py:1425): the workdir resolved to an absolute path, but that path does not exist on the machine where the job store lives. Validation is eager — the failure surfaces at create/update time, not at fire time, so a scheduled job never silently runs in the wrong directory.
Source
Thrown at apps/desktop/electron/connection-apply.ts:51
}
commit()
return true
}
async function resolveTerminalConnection(getTarget, ensureBackend) {
let target = getTarget()
if (target !== 'pending') {
return target
}
await ensureBackend()
target = getTarget()
if (target === 'pending') {
throw new Error('Remote connection is not ready yet. Try again in a moment.')
}
return target
}
export { applyConnectionChange, commitConnectionFailure, resolveTerminalConnection }
View on GitHub (pinned to c896c09c42)
Solutions
- Verify the path on the host that runs the cron scheduler (the gateway/backend machine, not necessarily your shell).
- Fix typos or recreate the directory: mkdir -p /abs/path.
- If the project moved, update the job with the new absolute workdir.
- Pass workdir=None to run the job without a pinned directory if the cwd doesn't matter.
Example fix
# before
update_job("abc123", {"workdir": "/home/me/proj"}) # dir was renamed
# after
update_job("abc123", {"workdir": "/home/me/projects/proj"}) Defensive patterns
Strategy: validation
Validate before calling
from pathlib import Path
def existing_dir(w: str) -> str:
p = Path(w).expanduser().resolve()
if not p.exists():
raise FileNotFoundError(f"workdir missing on THIS host: {p}")
return str(p)
workdir = existing_dir("/home/me/proj") # fails fast with a clear message Try / catch
try:
create_job(prompt=p, schedule=s, workdir=w)
except ValueError as e:
if "does not exist" in str(e):
Path(w).mkdir(parents=True, exist_ok=True) # if creation is intended
create_job(prompt=p, schedule=s, workdir=w) Prevention
- Validate the path on the machine that runs the gateway/scheduler, not your laptop.
- After moving a project directory, update every cron job that pins its old workdir.
When it happens
Trigger: create_job/update_job with workdir pointing at a deleted directory, a path that only exists on another machine, or a typo. Note the path is resolve()d first, so symlink targets are also checked for existence.
Common situations: Job created on one host whose home layout differs from the gateway host; the project directory was moved or removed after job creation and the job is then edited; remote/SSH backends where the path exists client-side only.
Related errors
- ${isPosix ? 'install.sh --manifest' : 'install.ps1 -Manifest
- Remote gateway URL is required.
- Preview mode — launching is disabled.
- no install root
- Remote gateway URL is not valid: ${error.message}
AI-assisted analysis of NousResearch/hermes-agent@c896c09c42 (2026-08-14).
Data as JSON: /api/errors/8a565dae6a4252b1.
Report an issue: GitHub.