Skip to content

Storage SYNC command #3090

Closed as not planned
Closed as not planned

Description

@henry2man

Feature Request: Add supabase storage sync command to CLI

Is your feature request related to a problem? Please describe.

Currently, uploading multiple files and directories to Supabase Storage requires manually using supabase storage cp with --recursive or scripting solutions with the API. This is tedious and not as efficient as other cloud storage providers, which offer native synchronization commands.

For example, S3 has aws s3 sync, and Firebase Storage has firebase deploy. These tools allow users to quickly sync local directories with their cloud storage, improving usability and automation.

Describe the solution you'd like

I propose adding a supabase storage sync command to the Supabase CLI, similar to AWS S3's sync. The expected behavior:

supabase storage sync ./local-folder bucket-name[/remote/folder/path]
  • Uploads all new and modified files in ./local-folder to bucket-name[/remote/folder/path]
  • Deletes remote files that no longer exist locally (optional flag --delete)
  • Uses parallel uploads for performance (optional flag --jobs <N>)
  • Other advances features like custom cache control and content-type headers could be considered (like supabase storage cp)
  • Works with both linked projects and local Supabase instances

Example with flags:

supabase storage sync ./assets media/assets --delete

Describe alternatives you’ve considered

  • Using a combination of supabase storage rm and supabase storage cp with --recursive , but this is suboptimal and slow.

Additional context

This feature would significantly improve developer experience and streamline file management in Supabase Storage. In our case we want sync important metadata product definitions, stored as plain text files in Storage, using https://github.com/supabase/setup-cli

Would love to see this in the roadmap! 🚀

Activity

  1. github-actions commented on Jun 17, 2026

    @github-actions
    Contributor

    Hi! Thanks for opening this issue.

    We're closing this because it has not had any activity for 45 days, and we try to keep the Supabase CLI issue tracker focused on reports that are still current.

    If this still reproduces on the latest Supabase CLI, please comment with /reopen on its own line and include your CLI version, updated reproduction steps, and any recent error output. We appreciate the signal and are happy to take another look.

  2. henry2man commented on Jun 18, 2026

    @henry2man
    Author

    @jgoux What will be the alternative for this? Sync storage is a real use case.

    Currently our only one alternative is delete whole directories and re-upload all content again, even if just a a bunch of the files were changed

  3. jgoux commented on Jun 23, 2026

    @jgoux
    Contributor

    /reopen

  4. github-actions commented on Aug 8, 2026

    @github-actions
    Contributor

    Hi! Thanks for opening this issue.

    We're closing this because it has not had any activity for 45 days, and we try to keep the Supabase CLI issue tracker focused on reports that are still current.

    If this still reproduces on the latest Supabase CLI, please comment with /reopen on its own line and include your CLI version, updated reproduction steps, and any recent error output. We appreciate the signal and are happy to take another look.

  5. jgoux commented on Aug 8, 2026

    @jgoux
    Contributor

    /reopen

  6. github-actions commented on Sep 23, 2026

    @github-actions
    Contributor

    Hi! Thanks for opening this issue.

    We're closing this because it has not had any activity for 45 days, and we try to keep the Supabase CLI issue tracker focused on reports that are still current.

    If this still reproduces on the latest Supabase CLI, please comment with /reopen on its own line and include your CLI version, updated reproduction steps, and any recent error output. We appreciate the signal and are happy to take another look.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions