uppy-tus-v4

Enable resumable large-file uploads in browsers using Uppy and tus.

Updated Mar 4, 2026
One-click install
npx skills add https://github.com/sncollective/snc-platform --skill uppy-tus-v4
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: uppy-tus-v4
Source: https://github.com/sncollective/snc-platform/tree/main/.claude/skills/uppy-tus-v4
Command: npx skills add https://github.com/sncollective/snc-platform --skill uppy-tus-v4

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Implementing reliable, resumable large-file uploads in web applications is complex due to interrupted connections, token freshness, metadata mapping, and CORS requirements; this reference consolidates best practices and options for using @uppy/tus and tus-js-client to solve those issues.

Core Features & Use Cases

  • Seamless cross-session resume via fingerprint storage and urlStorage integration for interrupted uploads.
  • Fine-grained control over retries, chunking, concurrency, and per-request hooks for auth and response inspection.
  • Metadata handling and CORS guidance to safely forward file metadata and avoid leakage.
  • Use case: migrate an existing S3 presigned upload flow to tus for robust resumability and simpler server-side upload handling.

Quick Start

Initialize Uppy with the Tus plugin pointed at your tus endpoint, set allowedMetaFields and retryDelays, and enable removeFingerprintOnSuccess if you want to clean stale localStorage entries.

Frequently Asked Questions about uppy-tus-v4

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement resumable uploads for large files with Uppy and tus?

To implement resumable uploads, initialize Uppy with the Tus plugin pointed at your endpoint, set allowedMetaFields and retryDelays, and configure chunking and urlStorage for cross-session resume.

What's the best way to resume interrupted file uploads across browser sessions?

The best way to resume interrupted uploads across sessions is using Uppy tus with fingerprint storage and urlStorage integration, which persists upload state to resume from the last received Upload-Offset.

How do I configure retryDelays and allowedMetaFields in @uppy/tus?

Configure retryDelays to set automatic retry intervals for failed chunks, and use allowedMetaFields to specify which file metadata fields are safely forwarded to the tus endpoint without leakage.

Why do my tus uploads fail due to CORS and Upload-Offset headers?

Tus uploads fail when the server does not return proper CORS headers exposing Upload-Offset, which the tus-js-client requires to determine where to resume chunked file transmission.

Can I migrate an existing S3 presigned upload flow to tus for better resumability?

Yes, you can migrate S3 presigned uploads to tus for robust resumability and simpler server-side handling, replacing presigned URLs with a tus endpoint configured for chunking and retries.

Do I need to clean stale localStorage entries after successful tus uploads?

Yes, enable removeFingerprintOnSuccess in your Uppy Tus plugin configuration to automatically clean stale localStorage fingerprint entries after uploads complete successfully.