A lightweight macOS menu bar app to monitor Vercel deployments in real time — see build/ready/error status at a glance and jump to details with one click.
Features
- Real-time deployment status (build, ready, error)
- Personal or Team tokens
- Notarized, code-signed app (no Gatekeeper warnings)
- Native Swift app — lightweight and fast
- Quick access to deployment details from the menu bar
- Download the latest release from the Releases page
- Unzip and move the app to your Applications folder
- Launch the app
- Click the menu bar icon and select "Preferences" to configure your Vercel API token
Requirements:
- macOS 13.0 or later
- Xcode 15.0 or later
- Swift 5.9 or later
# Clone the repository
git clone https://github.com/andrewk17/vercel-deployment-menu-bar.git
cd vercel-deployment-menu-bar
# Build the app
swift build -c release
# Package as .app bundle (creates a signed and notarized app)
./Scripts/package-app.sh
# The app will be created at: build/Vercel Deployment Menu Bar.appThe app is properly code signed and notarized to prevent macOS Gatekeeper warnings. If you're building for distribution:
-
Prerequisites:
- Apple Developer account ($99/year)
- Developer ID Application certificate installed
- App Store Connect API key for notarization
-
Setup App Store Connect API Key:
# Create directory for API key mkdir -p ~/.private_keys # Download your .p8 file from https://appstoreconnect.apple.com/access/api # Move it to ~/.private_keys/ # Add to ~/.zshrc or ~/.bash_profile: export APPLE_API_KEY_ID="your-key-id" export APPLE_API_ISSUER="your-issuer-id" export APPLE_API_KEY_PATH="$HOME/.private_keys/AuthKey_XXXXXXXXXX.p8"
-
Build and notarize:
./Scripts/package-app.sh # The script will automatically sign and notarize the app
The build script will:
- Sign the app with your Developer ID certificate
- Submit to Apple's notary service
- Staple the notarization ticket
- Verify the signature
If notarization credentials aren't configured, the script will still sign the app but skip notarization.
- Go to Vercel Account Settings → Tokens
- Click "Create Token"
- Give your token a name (e.g., "Menu Bar App")
- Choose the scope:
- Personal Account: Select your personal account scope
- Team Account: Select the specific team you want to monitor
- Set an expiration date (optional but recommended)
- Click "Create Token"
- Important: Copy the token immediately - you won't be able to see it again!
- Launch "Vercel Deployment Menu Bar" from your Applications folder
- Click the menu bar icon (upside-down triangle)
- Select "Preferences"
- Enter your API token in the "Token" field
If you created a token scoped to a specific team, you must also enter your Team ID:
- In the Preferences window, locate the "Team ID" field
- To find your Team ID:
- Go to your Vercel Dashboard
- Select your team from the dropdown
- Look at the URL - it will be:
https://vercel.com/[TEAM_ID]/~ - The
[TEAM_ID]is what you need (e.g., if the URL ishttps://vercel.com/acme-corp/~, your Team ID isacme-corp) - Alternatively, go to Team Settings → General and find your Team Slug
- Enter the Team ID in the preferences
- Click save
Note: If you used a personal account token, you can leave the Team ID field empty.
Once configured, the app will automatically start monitoring your deployments. The menu bar icon will update based on your latest deployment status.
The app uses the Vercel API to:
- Fetch your deployment list periodically
- Check the status of each deployment
- Update the menu bar icon based on deployment states
- Display deployment details in a convenient menu
- macOS 13.0+
- Vercel API token
MIT License - see LICENSE file for details
Install the Vercel Deployment Menu Bar app, configure it with your Vercel API token, and it will automatically display real-time deployment status in your macOS menu bar. The app polls the Vercel API and updates the status icon based on your latest deployments.
If you're using a team-scoped Vercel API token, you need to provide your Team ID:
- Go to your Vercel Dashboard
- Select your team from the dropdown
- Look at the URL:
https://vercel.com/[TEAM_ID]/~ - Copy the
[TEAM_ID]portion (e.g., if the URL showshttps://vercel.com/acme-corp/~, your Team ID isacme-corp) - Alternatively, go to Team Settings → General to find your Team Slug
Enter this Team ID in the app's Preferences. If you're using a personal account token, you can leave the Team ID field empty.
The latest releases (v0.2.0+) are properly code-signed and notarized, so you shouldn't see this error. If you do:
- Download the latest release from the Releases page
- If the error persists, right-click the app and select "Open" instead of double-clicking
- For older versions, you may need to remove the quarantine attribute:
xattr -d com.apple.quarantine "/Applications/Vercel Deployment Menu Bar.app"
Contributions are welcome! Please feel free to submit a Pull Request.
