Features
Everything you need to work with S3 — without leaving VS Code.
Trust & Safety
BucketBuddy is locked by default, everywhere, always. Browsing, downloading, and searching never require unlocking anything — the only way any bucket content changes is if you explicitly unlock it first.
Read-Only Lock, on by default
Every profile and every bucket starts locked (read-only) the moment you connect it — no setup, nothing to remember to turn on. Click the lock icon to unlock a bucket or an entire profile before making any change.
Protected Profiles
Mark profiles or buckets as protected by env value or profile name pattern (production* by default). Protected items are skipped by "Unlock All" — they can still be unlocked one at a time, deliberately, never in bulk.
Activity Log
Every successful write — upload, delete, rename, restore, copy, tag edit, folder sync — is timestamped in a dedicated output channel. A locked-by-default workflow still gives you a full audit trail for the writes that did happen.
Unlock, then retry — deliberately
Attempting a write against a locked target shows a warning with an "Unlock Now" button — it only unlocks. Your original action does not run automatically, so a single click can never both unlock and delete or overwrite; you unlock, then retry the action.
Overwrite Diff Preview
Before confirming an overwrite, BucketBuddy shows existing vs. incoming size and last-modified date side by side, so "Overwrite?" is never a blind guess.
Permission Diagnostics
Check whether your current credentials can read and list a bucket — without ever creating, changing, or deleting anything. Write access is never tested by writing.
Lock All / Unlock All
Bulk-lock or bulk-unlock every connected profile in one step. Unlock All automatically skips profiles or buckets marked Protected — those still unlock individually, just never in bulk.
Browsing & Navigation
Browse Buckets
Buckets are listed and the tree auto-expanded the moment a profile connects — no manual click needed. Each profile gets its own colour-coded root node so you always know which account you are in.
Navigate Folders
S3 prefixes are rendered as folders. Drill down into any depth of prefix hierarchy just like a local file explorer. An Up button lets you navigate back without collapsing the tree, and the full path is always one hover or a right-click "Copy S3 URI" away.
Environment Grouping
Add env=DEV / Staging / Prod (or any custom value) to a profile in your AWS config, or right-click a profile in the tree and pick "Set Environment/Group…" if you’d rather not touch the config file at all. Either way, similar profiles group under one banner — dev, staging, and prod accounts read as distinct sections, not a flat list.
Search
Find objects by prefix or wildcard pattern within any bucket or folder.
Search All Buckets
Search across every already-listed bucket for every connected profile in a single command — bounded to buckets you have already browsed once, so it stays fast.
Saved Searches & Paths
Save a reusable cross-bucket search query, or bookmark a specific bucket/folder path for one-click navigation back to it later.
Recent Objects
Quickly reopen recently viewed objects from any connected profile — most-recent-first, deduplicated, remembered across VS Code restarts.
Sort
Sort the contents of any expanded folder by name, last modified date, or object size. Toggle between ascending and descending order.
Object Counts
After expanding a bucket or folder, BucketBuddy shows the total number of items directly in the tree node label.
Storage Class
Objects stored in GLACIER, DEEP_ARCHIVE, INTELLIGENT_TIERING, and other non-STANDARD classes are labelled inline so you know before attempting to open or download them.
Refresh Node
Refresh a single bucket or folder without reloading the entire tree. Right-click any node and choose Refresh.
File Operations
Open in Editor
Preview text files, JSON, YAML, CSV, Markdown, and images directly in a VS Code editor tab. The file is fetched on demand — nothing is saved to disk unless you explicitly download it.
S3 Draft Editing
Open a text object as an editable draft, make changes, then explicitly upload it with "Save Active S3 Draft." Content type and metadata are retained. The target bucket must be unlocked to save — twice-checked, once on open and once on save.
Download
Download a single object or an entire folder to any local path. Multi-select is supported. Multi-file transfers can be cancelled mid-operation.
Upload
Open the file picker to choose one or more files to upload to the current folder. You can also drag files from the OS file explorer directly onto a bucket or folder node.
Delete
Delete individual objects or folders (all objects under a prefix). A confirmation dialog prevents accidental deletions. Multi-select bulk delete is supported.
Rename / Move
Rename or move an object in a single step. BucketBuddy copies the object to the new key and deletes the original — the operation is atomic from your perspective.
Rename Folder
Rename an entire folder at once — every object under its prefix is copied to the new prefix and the originals deleted, with a confirmation naming the object count up front.
Create Folder / File
Create a new prefix (folder) or an empty file anywhere in the tree, with overwrite confirmation.
Create Bucket
Create a new S3 bucket for the connected profile without leaving VS Code. Specify the bucket name and region — BucketBuddy handles the rest.
Configured Folder Sync
Opt-in local-folder-to-S3 sync with include/exclude filters. Every run opens a preview and requires an explicit "Apply Sync" confirmation — nothing uploads or deletes without you reviewing the plan first. Remote deletion is disabled unless you turn it on.
Object Inspection
Object Properties
Inspect object size, ETag, content type, cache-control, encryption, storage class, and custom metadata.
Storage Insights
Summarize object count and total bytes by storage class for a bucket or prefix, at a glance — up to 5,000 objects scanned.
Bucket Details
Read-only view of a bucket’s policy, encryption, lifecycle rules, and versioning status.
S3 Object Lock
Display an object’s retention and legal-hold state when the profile is authorized to read it.
Object Tags
View, add, edit, or remove S3 object tags directly from the tree.
Insights & Maintenance
List All Files
Right-click a bucket or folder for a plain-text listing (up to 5,000 objects) you can search or copy — choose recursive (every object in every subfolder) or this-folder-only.
Cost Estimate
A directional, clearly-labelled storage-only cost estimate by storage class for a bucket or prefix, using public list rates — not a bill, but a quick sanity check.
Clean Up Incomplete Multipart Uploads
Preview every incomplete multipart upload in a bucket — these quietly accrue storage costs without appearing as objects — then explicitly confirm before aborting them.
Bulk Edit Object Properties
Apply a new Cache-Control or Content-Type to a multi-selection of objects at once, with a single confirmation before anything is rewritten.
Event Notifications Viewer
Read-only view of a bucket’s configured S3 event notifications (Lambda, SQS, SNS, EventBridge) — change them in the AWS Console or your infrastructure-as-code workflow.
Checksum Verification
Verify a downloaded object against the SHA-256 checksum S3 computed on upload, confirming the bytes you got match what’s stored.
Transfer Queue
See every active and recent upload/download for the current session in one place, including which ones failed.
Multi-Profile & Cross-Account
Multiple profiles simultaneously
Connect as many AWS profiles as you have configured in ~/.aws/config. Each profile appears as a separately colour-coded root node. There is no limit on the number of simultaneous connections.
Cross-Account Copy
Copy objects — or an entire folder in one go — between two different AWS accounts entirely client-side — no intermediary server, no extra storage. BucketBuddy streams bytes from the source profile to the destination profile. The target bucket must be unlocked.
Persistent Sessions
Which profiles are connected and which buckets are pinned is saved across VS Code restarts. Your workspace is exactly as you left it every time you reopen VS Code.
Connect/Disconnect All in a Group
Env-grouped profiles (Dev, Staging, Prod) each get their own Connect All / Disconnect All, scoped to just that group — no need to reach for the profile-wide toolbar action when you only want one environment.
Developer Tools
Copy S3 URI
Right-click any object to copy its S3 URI (s3://bucket/key) to the clipboard. Paste directly into AWS CLI commands, SDK code, or Terraform configs.
Pre-signed URL
Generate a time-limited pre-signed URL for any object. Choose expiry: 5 minutes, 1 hour, or 24 hours. The URL is copied to the clipboard and requires no AWS credentials to use.
Copy as AWS CLI
Right-click an object to get a ready-to-run aws s3 cp command copied to the clipboard. Useful when you need to script a download or reference the exact CLI syntax.
Copy as curl
Generates a pre-signed curl command for the object. Works anywhere curl is available — no AWS CLI or SDK needed on the target machine.
Open in AWS Console
Jump directly to any object, folder, or bucket in the AWS Management Console in your default browser. The link is region-aware and opens the correct console page.
CloudFront Invalidation
Create a CloudFront cache invalidation for a bucket, folder, or object straight from the tree — paths are pre-filled from what you clicked, with an explicit confirmation before it runs.
Version History
Browse versions
For buckets with versioning enabled, open the Version History panel to see every version of an object — version ID, size, last modified, and whether it is a delete marker.
Open, download, or restore
Preview any historical version in the editor, download it to disk, or restore it as the current version. Restoring copies the selected version to a new version — the history is never destructively modified.
Compare Versions
Diff any two object versions side by side in VS Code’s native diff editor.
Drag & Drop
Drag from OS file explorer
Drag files from Finder (macOS) or Explorer (Windows) directly onto a bucket or folder node in the BucketBuddy sidebar. The drop triggers an upload to that location.
Drag between buckets
Drag objects from one bucket or folder to another — even across different profiles and accounts. BucketBuddy handles the copy (and optional delete) transparently.
Feedback
Rate on Marketplace
An occasional, unobtrusive prompt after real usage (10+ launches, 7+ days) asks if you’d rate BucketBuddy — snoozeable or dismissible for good, and always available manually from the Command Palette.
Send Feedback
One command opens a pre-filled email draft with your BucketBuddy and VS Code version included, so reporting a bug or a request takes one click, not a blank email.