AWS BucketBuddy
Browse, upload, download, and manage Amazon S3 objects directly from VS Code — without ever leaving your editor.
AWS BucketBuddy gives developers a visual S3 browser in the VS Code sidebar. Connect using any AWS CLI profile — standard credentials, SSO, assumed roles, or process credentials — and navigate your S3 buckets like a file explorer. Connect multiple profiles simultaneously to browse buckets across accounts side-by-side and copy objects between environments.
Publisher: Krish Kanchinadam · kkmohan
Website: getbucketbuddy.com
Repository: github.com/sarvatix/vscode-aws-bucket-buddy
What it looks like
S3 Explorer
│
├── 🔵 work-profile | us-east-1 | 123456789012
│ ├── ➡️ Go to bucket…
│ ├── 📁 prod-data us-east-1 (3)
│ │ ├── 📍 Path: s3://prod-data/
│ │ ├── 📂 configs/ (1)
│ │ │ ├── 📍 Path: s3://prod-data/configs/
│ │ │ ├── ⬆️ Back to bucket root
│ │ │ └── 📄 app.json 12.4 KB
│ │ ├── 📂 logs/
│ │ └── 📄 README.md 1.1 KB
│ └── 📁 staging-bucket us-east-1
│ └── 📄 deploy.zip 4.2 MB · GLACIER
│
├── 🟢 dev-profile | eu-west-1 | 987654321098
│ ├── ➡️ Go to bucket…
│ └── 📁 dev-assets eu-west-1
│ ├── 📂 builds/
│ └── (empty)
│
└── ➕ Connect another profile…
Version History (auto-updates on object selection)
└── README.md s3://prod-data/README.md
├── 2026-03-14 10:00 • LATEST 1.1 KB
└── 2026-03-10 09:00 0.9 KB
Features
| Feature |
Description |
| 🪣 Browse Buckets |
Lists all owned S3 buckets per profile. Cross-account buckets accessible directly by URL. |
| 📁 Navigate Folders |
Drill into S3 prefixes as folders — lazy-loaded with pagination. Breadcrumb + Up navigation shown inside each folder. |
| 👁️ Open in Editor |
Preview text, JSON, YAML, CSV, Markdown, and images inline in VS Code. File size warning before opening large files. Non-text content type banner shown when applicable. |
| ⬇️ Download |
Download any object or entire folder to a local path. Multi-select to download several objects at once. |
| ⬆️ Upload |
Upload local files into any bucket or prefix via file picker, or drag files from the OS file explorer. |
| 🗑️ Delete |
Delete objects or folders with an optional confirmation prompt. Multi-select for bulk delete. |
| ✏️ Rename / Move |
Copy to a new key then delete the original — single step. |
| 📂 Create Folder |
Create a new folder (zero-byte prefix) directly from the tree. |
| 🪣 Create Bucket |
Create a new S3 bucket from within the extension. |
| 🔗 Copy S3 URI |
Copies s3://bucket/key to the clipboard. |
| 🌐 Pre-signed URL |
Generates a time-limited shareable HTTPS URL (5 min, 1 hr, or 24 hr). |
| 🖥️ Copy as AWS CLI |
Copies a ready-to-run aws s3 cp command for any object. |
| 🌀 Copy as curl |
Copies a pre-signed curl command for any object. |
| 🔗 Open in AWS Console |
Opens the object, folder, or bucket directly in the AWS Management Console. |
| 🔍 Search |
Search objects by prefix within any bucket or folder. |
| 🔃 Sort Objects |
Sort by name (asc/desc), last modified, or size. |
| 🔢 Object Counts |
Buckets and folders show item counts after expansion. |
| 📦 Storage Class |
Non-STANDARD storage class (GLACIER, DEEP_ARCHIVE, etc.) shown inline on objects. |
| 🕐 Version History |
Browse S3 object versions in a dedicated side panel — open, download, or restore any prior version. |
| 🖱️ Drag & Drop |
Drag S3 objects/folders between buckets, or drag local files from the OS file explorer into a bucket. |
| 👥 Multi-Profile |
Connect multiple AWS profiles simultaneously — browse side-by-side with colour-coded badges. |
| 🔄 Cross-Account Copy |
Copy objects between AWS accounts and environments — streams through client, no server-side copy required. |
| 🔁 Refresh Node |
Right-click any bucket or folder to refresh just that node without refreshing the full tree. |
| 💾 Persistent Sessions |
Connected profiles and pinned buckets are remembered across VS Code restarts. |
Getting Started
1. Install
Install from the VS Code Marketplace — search for AWS BucketBuddy in the Extensions panel, or visit getbucketbuddy.com.
BucketBuddy uses your existing AWS CLI profiles. If you haven't set one up:
aws configure
# or for SSO:
aws configure sso
Click the BucketBuddy icon in the Activity Bar. On first launch, the extension
automatically connects every AWS profile found in your ~/.aws/credentials and
~/.aws/config files — no manual setup needed. Each profile appears as its own
colour-coded root node with its configured buckets already pinned.
On subsequent launches, BucketBuddy restores the exact set of profiles that were
active when VS Code last closed (respecting any profiles you manually disconnected).
4. Browse or go to a bucket
- Owned buckets appear automatically if your credentials have
s3:ListAllMyBuckets
- Pre-configured buckets from
buckets= in your AWS config are pinned immediately
- Direct access — click "Go to bucket…" on a profile row and enter a bucket name or
s3:// URL
5. Connect an additional profile
Click the + icon in the panel header and select a profile. It appears as a new
root node — each session has a distinct colour badge for easy identification.
Auto-Connect Buckets
Add a buckets= field to your AWS config and BucketBuddy will automatically pin those buckets
when you connect the profile — no manual "Go to bucket…" needed each time:
[MyProfile]
aws_access_key_id = ...
aws_secret_access_key = ...
region = us-east-1
account_id = 123456789012
buckets = prod-data, staging-bucket, my-logs
The account_id field is also shown in the profile header for easy identification.
Direct Bucket Access
No s3:ListAllMyBuckets permission? No problem. Use Go to bucket… to navigate directly
to any bucket by name or s3:// URL — even cross-account buckets your credentials have been
explicitly granted access to. BucketBuddy validates the bucket is accessible before confirming.
Version History Panel
Click any S3 object — a dedicated Version History panel updates automatically showing all
versions and delete markers. From the panel you can:
- Open any prior version in the VS Code editor
- Download a specific version
- Restore a prior version (promotes it to LATEST via a copy)
Requires the bucket to have versioning enabled.
Cross-Account Object Copy
Right-click any object → Copy to Another Profile…
- Select the target profile (e.g. staging, prod)
- Enter the target bucket name
- Confirm (or edit) the target key
The object streams from the source account through VS Code to the target account — no server-side
copy required, so it works seamlessly across AWS accounts, environments, and regions.
Panel Header Buttons
| Icon |
Action |
| ℹ️ |
Open About page |
| 🔄 |
Refresh the tree |
| ➕ |
Connect a new profile session |
| 🪣+ |
Go to bucket by name or URL |
| 🔍 |
Search objects |
| 🔌 |
Connect all profiles (reconnects any disconnected profiles) |
| ⏏️ |
Disconnect all profile sessions |
Context Menu Actions
On a profile session node:
- Go to Bucket…
- Disconnect Profile
On a bucket:
- Upload File
- Create Folder
- Create Bucket
- Refresh Node
- Search Objects
- Copy S3 URI
- Open in AWS Console
- Download Folder
- Delete Folder
- Copy Folder…
On a folder:
- Upload File
- Create Folder
- Refresh Node
- Search Objects
- Copy S3 URI
- Open in AWS Console
- Download Folder
- Delete Folder
- Copy Folder…
On an object:
- Open in Editor
- Download
- Copy S3 URI
- Copy Pre-signed URL
- Copy as AWS CLI Command
- Copy as curl Command
- Open in AWS Console
- Rename / Move
- Copy to Another Profile…
- Version History
- Delete
On a version (Version History panel):
- Open Version
- Download Version
- Restore Version
Settings
| Setting |
Default |
Description |
bucketbuddy.defaultProfile |
"default" |
Declared in extension settings, but not currently used by startup logic |
bucketbuddy.credentialsFilePath |
"" |
Override path to ~/.aws/credentials |
bucketbuddy.configFilePath |
"" |
Override path to ~/.aws/config |
bucketbuddy.maxItems |
500 |
Max items loaded per list operation |
bucketbuddy.confirmBeforeDelete |
true |
Show confirmation dialog before deleting objects |
bucketbuddy.defaultBucket |
"" |
Declared in extension settings, but not currently used for automatic navigation |
bucketbuddy.sortMode |
"nameAsc" |
Object sort order: nameAsc, nameDesc, lastModifiedDesc, sizeDesc |
Multiple Profiles Simultaneously
Connect as many AWS profiles as you need — each appears as a collapsible root node with a
distinct color badge (🔵 🟢 🟡 🟣 🟠 🔴) and shows the region and account ID from your config.
Useful when:
- You have buckets spread across dev, staging, and production accounts
- You need to compare or migrate objects between AWS accounts
- Your IAM role grants direct bucket access but not
ListAllMyBuckets
Add a session: click + in the panel header, or ➕ Connect another profile… at the bottom
Connect all: click the plug icon in the panel header to reconnect every profile at once
Remove a session: right-click the profile node → Disconnect Profile
Disconnect all: click the disconnect button in the panel header
First launch: all profiles in ~/.aws/credentials + ~/.aws/config are connected automatically.
Subsequent launches: restores the profiles that were active when VS Code last closed.
Sessions and pinned buckets are persisted — they reconnect automatically when you reopen VS Code.
Security
- No credentials stored. BucketBuddy never persists access keys anywhere. Only profile names (plain strings) are saved across sessions.
- No network calls from WebViews. All AWS API calls run in the VS Code extension host.
- Credential chain per session:
fromIni() → fromSSO() → fromProcess() — restricted to the selected AWS profile so ambient environment credentials cannot silently override it.
Requirements
- VS Code 1.85.0 or later
- AWS CLI configured with at least one profile (
aws configure)
- Node.js is not required — the extension bundles all dependencies
⚠️ Data Loss Warning
This extension performs live operations directly against Amazon S3. Object deletions are
permanent and irreversible unless versioning is enabled on the bucket. Sarvatix Solutions accepts
no responsibility for any accidental, inadvertent, or unintended deletion, modification, or
loss of data. Use at your own risk. Always ensure critical buckets have versioning enabled
and maintain independent backups.
License
Proprietary. Copyright © 2026 Sarvatix Solutions. All rights reserved.
See LICENSE file for full terms.