Stop the Permission Madness: Auto-Sync Bitwarden Collection Permissions
Managing permissions across dozens—or hundreds—of nested collections in Bitwarden is a nightmare. You click, assign permissions, click again, assign more permissions... rinse and repeat for every single child collection.
I hit this wall hard while managing our organization's Bitwarden vault, and I realized: there has to be a better way.
So I built one.
The Problem: Manual Permission Hell
Bitwarden's permission system is powerful, but it has one critical flaw: there's no permission inheritance for nested collections.
Here's what that means in practice:
- You have a Parent Collection with 20 team members assigned to specific groups
- It has 50 child collections nested underneath
- Want those 20 people to have the same access to all children?
- Congratulations, you're about to click 50 times.
This isn't just tedious—it's a security trap. When your permissions structure is painful to manage, teams inevitably:
- Create flatter, less-isolated hierarchies (worse security)
- Leave outdated permissions in place (compliance risk)
- Rush assignments without thinking (human error)
The Solution: Bitwarden Permissions Manager
I built a simple web tool that does one thing incredibly well: clones permissions from a parent collection to all its children in seconds.
GitHub: matteocracco97/bitwarden-permissions-gui
How It Works
- Login with your Bitwarden credentials
- Select an organization and a parent collection
- Click sync
- ✅ All nested child collections inherit the parent's group permissions instantly
No command line wrestling. No CLI nonsense. Just a clean, modern web interface.
Tech Stack
- Laravel 12 - Web framework
- PHP 8.2+ - Backend runtime
- Bitwarden CLI - Permission orchestration
- Tailwind CSS - Beautiful UI
- SQLite - Lightweight session storage
The tool runs locally on your machine (via Laravel Herd) and communicates with your Bitwarden vault through the official CLI. Your credentials never leave your system.
Setup: 5 Minutes
# 1. Install Laravel Herd from https://herd.laravel.com/
# 2. Clone and setup
git clone https://github.com/matteocracco97/bitwarden-permissions-gui.git
cd bitwarden-permissions-gui
cp .env.example .env
php artisan key:generate
# 3. Install dependencies
composer install
npm install && npm run build
# 4. Start the app
herd open
That's it. You're live at http://bitwarden-permissions-gui.test
Important Security Notes
Before you log in, disable these on your Bitwarden account:
- 2FA - The CLI needs uninterrupted access
- Email Verification on New Login - Same reason
Pro tip: Use a dedicated service account with admin permissions, not your main account.
The Workflow
Step 1: Select Your Organization
Step 2: Choose the Source Collection
Step 3: Review Child Collections
Step 4: Sync & Confirm
Done. Permissions synced to every nested collection.
Important Disclaimer
This is a temporary solution. Permission inheritance for nested collections is a core feature that Bitwarden should have built-in. This tool exists because that feature doesn't exist yet—not because it should replace native functionality.
I built this as a workaround while the community (myself included) keeps asking Bitwarden to implement proper permission inheritance. If/when Bitwarden ships this feature officially, this tool becomes unnecessary.
Why I Built This
I've been watching the Bitwarden Community Forum thread on this feature for literally years. Dozens of messages. Multiple "me too" comments. Still no ETA.
The frustrating part? It's not hard to do. A community member built a working solution in Python in a few hours. I built this web version in a weekend.
So either:
- Bitwarden is too busy with other features (totally understandable)
- This feature is stuck in some internal debate (also understandable)
- It's genuinely not a priority for them (ouch)
Regardless, organizations with complex permission structures need this now, not in 2027.
Features
✅ Auto-sync parent permissions to all nested children
✅ Visual permission display (read, hide passwords, admin)
✅ Search for collections by name
✅ Session caching (fast subsequent operations)
✅ Error handling for 2FA/verification issues
✅ Clean, responsive web UI
✅ Works on Mac, Linux, Windows
Contributing
This is open source. If you have ideas, bug fixes, or improvements:
- Fork the repo
- Submit a PR
- Open an issue
I actively maintain this and appreciate community contributions.
What's Next?
Short term:
- Better error messages
- Bulk operations
- Permission preview before sync
Long term:
- Hopefully, native Bitwarden support (making this tool obsolete—which would be perfect)
Let's Automate This
Stop clicking. Start syncing.
Get started: GitHub Repo
Have you struggled with Bitwarden permissions? Let me know in the comments—I'd love to hear about your use case.
Built by Matteo Cracco • MIT License • Star on GitHub ⭐




Top comments (0)