Keeping Bitbucket tidy shouldn’t feel like spelunking through nested repos → projects → groups. Yet every time a teammate left, you had to play hide-and-seek with phantom permissions, hitting seat limits you swore were impossible.
Bitbucket Permission Manager flips that script:
- One dashboard, total visibility – every workspace, repo, project and group laid out in a flat, searchable table.
- Instant audits – see who can do what (and why) in seconds.
- One-click clean-ups – boot ex-employees or reassign roles without hunting through Bitbucket’s UI.
- Seat-saver – reclaim paid user slots before they drain your budget.
Stop guessing, start managing. Spin it up, connect your workspaces, and take back control of your Bitbucket permissions—100 % oversight, zero hassle.
- People Management: View all users and their repository access across workspaces
- Workspace Management: Browse workspaces and see which people have access
- Direct Access Detection: Find users with direct repository access (not via groups)
- Visual Interface: Color-coded badges for workspace vs repository access
- Persistent Caching: SQLite-based caching for improved performance
- Authentication: Session-based login system
- Hide Myself: Option to hide yourself from tables for cleaner views
- Bun runtime
- Bitbucket Cloud account with admin access to workspaces
- Bitbucket App Password (see setup below)
-
Generate Bitbucket App Password or API token:
- Go to Bitbucket Settings > App passwords
- Create new app password with these permissions:
- Account: Read
- Workspace membership: Read, Admin
- Projects: Read, Admin
- Repositories: Read, Admin
-
Run the interactive setup script:
bun setup
This will guide you through the configuration process:
- Setting up Bitbucket credentials
- Creating app login credentials
- Configuring port settings
- Enabling the "hide myself" feature (automatically fetches your UUID)
-
Start the server:
bun start # production mode: builds plain js file (dist/index.js) and runs that bun dev # development mode: watches changes and reloads automatically
Navigate to http://localhost:3000 in your browser (or whatever port you set):
- People (
/people): Table view of all users and their access - Workspaces (
/workspaces): Table view organized by workspace
The application uses SQLite for persistent caching:
- API responses are cached with configurable TTL
- Cache survives server restarts
- Database file:
database.sqlite(auto-created)
- Authentication fails: Verify your Bitbucket app password has correct permissions
- No workspaces found: Ensure you have admin access to at least one workspace
- Database errors: Delete
database.sqliteto reset cache - Login issues: Regenerate your
APP_PASShash usingbun setup