AlistGo/alist · error

list %s failed: %w

Error message

list %s failed: %w

What it means

Error "list %s failed: %w" thrown in AlistGo/alist.

Source

Thrown at drivers/123_open/read.go:34

// List walks the whole directory, following the lastFileId cursor until the
// API reports the last page. Trashed entries are still returned by the API and
// are filtered out here.
func (d *Open123) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]model.Obj, error) {
	if err := d.ensureToken(ctx); err != nil {
		return nil, err
	}
	parentFileID, err := parseFileID(dir.GetID())
	if err != nil {
		return nil, err
	}

	req := &pan123.FileListRequest{ParentFileID: parentFileID, Limit: listPageSize}
	var objs []model.Obj
	for {
		page, err := d.client.File.List(ctx, req)
		if err != nil {
			return nil, fmt.Errorf("list %s failed: %w", dir.GetPath(), err)
		}
		for _, f := range page.FileList {
			if f.Trashed != 0 {
				continue
			}
			objs = append(objs, fileToObj(f))
		}
		// -1 marks the last page; an unchanged cursor would loop forever
		if page.LastFileID == -1 || len(page.FileList) == 0 || page.LastFileID == req.LastFileID {
			return objs, nil
		}
		req.LastFileID = page.LastFileID
	}
}

// Link resolves a temporary download URL. It uses the download API by default
// and the direct link service when UseDirectLink is enabled; the resulting URL
// is signed when a private key is configured.

View on GitHub (pinned to 843d9dc814)

Solutions

  1. Inspect the underlying error details in the message, fix the indicated cause (credentials, network, or provider-side failure), and retry.

When it happens

Trigger: Thrown at drivers/123_open/read.go:34 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of AlistGo/alist@843d9dc814 (2026-08-15). Data as JSON: /api/errors/b2cfc87c73f2bdae. Report an issue: GitHub.