AlistGo/alist · warning
the task has been deleted
Error message
the task has been deleted
What it means
Thunder.Status() returns a status pre-seeded with 'the task has been deleted' and s.Err set; it is only replaced when task.GID is found among the remote Thunder tasks. A fall-through return therefore marks the task as terminally failed because it no longer exists on Thunder's side.
Source
Thrown at internal/offline_download/thunder/thunder.go:137
Status: "the task has been deleted",
Err: nil,
}
for _, t := range tasks {
if t.ID == task.GID {
s.Progress = float64(t.Progress)
s.Status = t.Message
s.Completed = (t.Phase == "PHASE_TYPE_COMPLETE")
s.TotalBytes, err = strconv.ParseInt(t.FileSize, 10, 64)
if err != nil {
s.TotalBytes = 0
}
if t.Phase == "PHASE_TYPE_ERROR" {
s.Err = errors.New(t.Message)
}
return s, nil
}
}
s.Err = fmt.Errorf("the task has been deleted")
return s, nil
}
func init() {
tool.Tools.Add(&Thunder{})
}
View on GitHub (pinned to 843d9dc814)
Solutions
- Treat the terminal status as final and remove the local task record
- Re-add the URL if the content is still required
- Clear stale task records after re-authenticating the Thunder storage
Example fix
s, err := t.Status(task)
if err == nil && s.Err != nil && strings.Contains(s.Err.Error(), "has been deleted") {
_ = deleteLocalTask(task.ID) // remote task gone, stop polling
} Defensive patterns
Strategy: fallback
Try / catch
s, err := t.Status(task)
if err != nil {
return err
}
if s.Err != nil && strings.Contains(s.Err.Error(), "has been deleted") {
markCompletedAndCleanup(task)
} Prevention
- Check s.Err alongside err — deletion is reported via the status object
- Avoid deleting tasks in the Xunlei app while tracked here
- Clear stale records after Thunder account re-login
When it happens
Trigger: The Thunder offline task was deleted remotely (app/web cleanup), expired, or belongs to a re-linked account whose task IDs no longer match task.GID.
Common situations: Users deleting downloads from the Xunlei app; account re-login invalidating old task IDs; the platform pruning completed tasks after retention.
Related errors
- the task has been deleted
- unsupported storage driver for offline download, only Thunde
- failed to add offline download task: %w
- failed get status, wrong gid: %s
- share_ids is required
AI-assisted analysis of AlistGo/alist@843d9dc814 (2026-08-15).
Data as JSON: /api/errors/8489ba604146772b.
Report an issue: GitHub.