warpdotdev/warp · error · anyhow::Error
Schedule not found
Error message
Schedule not found
What it means
During a schedule command, the schedule ID from args is parsed into a server SyncId, warp drive is refreshed, and then the local cloud-object store is queried with CloudScheduledAmbientAgent::get_by_id. 'Schedule not found' means that after a successful sync no scheduled ambient agent with that server ID is visible to the current user: wrong ID, deleted schedule, or an object the caller cannot see.
Source
Thrown at app/src/ai/agent_sdk/schedule.rs:609
}
fn get(
ctx: &mut AppContext,
output_format: OutputFormat,
args: GetScheduleArgs,
) -> anyhow::Result<()> {
let schedule_id = SyncId::ServerId(ServerId::try_from(args.schedule_id)?);
ScheduledAgentManager::handle(ctx).update(ctx, move |_manager, ctx| {
let warp_drive_sync_future = super::common::refresh_warp_drive(ctx);
ctx.spawn(warp_drive_sync_future, move |manager, result, ctx| {
if let Err(err) = result {
super::report_fatal_error(err, ctx);
return;
}
let Some(schedule) = CloudScheduledAmbientAgent::get_by_id(&schedule_id, ctx) else {
super::report_fatal_error(anyhow::anyhow!("Schedule not found"), ctx);
return;
};
let id = match &schedule_id {
SyncId::ServerId(server_id) => server_id.to_string(),
SyncId::ClientId(_) => "Unsynced".to_string(),
};
let scope = super::common::format_owner(&schedule.permissions().owner).to_string();
let config = schedule.model().string_model.clone();
// Don't hold references into the CloudObject store across an async spawn.
let history_future = manager.fetch_schedule_history(schedule_id, ctx);
ctx.spawn(history_future, move |_manager, history, ctx| {
let history = match history {
Ok(v) => v,
Err(err) => {
log::warn!("Failed to fetch scheduled agent history: {err:#}");View on GitHub (pinned to e72fd7aacb)
Solutions
- List schedules and copy the current ID from the live listing
- Confirm the schedule still exists and is owned by (or shared with) the current user
- Retry after a completed sync; if it still fails, treat the ID as wrong or deleted
Example fix
// before oz schedule update 01J8ZK9abc... # Error: Schedule not found // after oz schedule list oz schedule update <id-from-list>
Defensive patterns
Strategy: validation
Validate before calling
let id = ServerId::try_from(raw_id)?;
refresh_warp_drive(ctx).await?;
if CloudScheduledAmbientAgent::get_by_id(&SyncId::ServerId(id), ctx).is_none() {
anyhow::bail!("schedule {id} not found after sync; re-list schedules");
}
// safe to proceed with update/delete Prevention
- Always copy schedule IDs from a fresh listing
- Do not persist schedule IDs across long-lived scripts without re-validation
- Confirm ownership/share status before acting on synced objects
When it happens
Trigger: oz schedule update/delete <id> where the ID is malformed-or-stale, the schedule was already deleted by another client, or the synced cloud objects do not include it (permissions/ownership).
Common situations: Reusing an ID copied from an old listing; schedule deleted from another machine; permissions changed so the object is no longer synced to this account; typos in long opaque IDs.
Related errors
- Runner '{name}' not found
- Secret '{}' not found
- Schedule not found
- Failed to delete schedule: {}
- Unsupported feature
AI-assisted analysis of warpdotdev/warp@e72fd7aacb (2026-08-16).
Data as JSON: /api/errors/bf9e4e0f4d4c0046.
Report an issue: GitHub.