tinyhumansai/openhuman · error
Invalid run_at timestamp: {e}
Error message
Invalid run_at timestamp: {e} What it means
When creating an agent job with a 'run_at' one-shot time, the raw string is parsed with DateTime::parse_from_rfc3339; this fires when it is not RFC 3339 (missing timezone, wrong separator, relative phrases like 'tomorrow'). Nothing is scheduled.
Source
Thrown at src/openhuman/tools/impl/system/schedule.rs:312
// ── Agent job (prompt provided) ──────────────────────────────
if let Some(prompt_text) = prompt {
tracing::debug!(
action = %action,
prompt_len = prompt_text.len(),
"[schedule] creating agent job"
);
let schedule = if let Some(expr) = expression {
Schedule::Cron {
expr: expr.to_string(),
tz: None,
active_hours: None,
}
} else if let Some(delay_str) = delay {
let at = Utc::now() + cron::parse_human_delay(delay_str)?;
Schedule::At { at }
} else if let Some(at_str) = run_at {
let at: DateTime<Utc> = DateTime::parse_from_rfc3339(at_str)
.map_err(|e| anyhow::anyhow!("Invalid run_at timestamp: {e}"))?
.with_timezone(&Utc);
Schedule::At { at }
} else {
return Ok(ToolResult::error("Missing scheduling parameters"));
};
let name = args
.get("name")
.and_then(|v| v.as_str())
.map(str::to_string)
.or_else(|| {
// Derive a slug from the prompt so jobs are never unnamed.
Some(
prompt_text
.chars()
.map(|c| {
if c.is_alphanumeric() {
c.to_ascii_lowercase()View on GitHub (pinned to 7491200858)
Solutions
- Pass run_at as an RFC 3339 timestamp, e.g. 2026-09-03T09:00:00Z
- Use the 'delay' (duration) parameter instead for relative times
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/tools/impl/system/schedule.rs:312 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/511efa92584c79f9.
Report an issue: GitHub.