See your Vercel deploy status in the Mac menu bar
Switchy puts a colored pill in your Mac menu bar while a deploy runs and notifies you when it lands or fails. It works with Vercel, Netlify, Cloudflare Pages and Workers, Railway, Render, Heroku, DigitalOcean and Coolify, using read-only tokens. It also lists your localhost dev servers. Free for 7 days, then $4.99 once, on macOS 14 or later.
Free for 7 days, then $4.99 once. macOS 14 Sonoma or later.
What the menu bar pill shows
While a deploy is running, the Switchy icon in your menu bar turns into a pill for each platform: the platform's icon and the number of deploys in progress. The color tells you the phase.
- Gray: the deploy is queued.
- Blue: it's building.
- Green: it finished and went live. The pill stays green for a few seconds, then the normal icon comes back.
- Red: it failed. A failure anywhere in that short window keeps the pill red.
Hover the pill for a text summary such as "Vercel: 1 deploying." Open the panel to see each running deploy with its app name, platform, short commit hash, commit message and a running timer. Click a row to open that deploy's page on the platform. The refresh button checks every platform right away, and you can expand a list of your last 5 finished deploys.
Notifications when a deploy finishes
When you turn on the Deploys switch, Switchy asks macOS for permission to send notifications. After that, each deploy that leaves the running list gets one notification: "✅ app deployed", "🔴 app deploy failed" or "app deploy cancelled", with the platform, commit hash and commit message underneath. If Switchy can't tell how a deploy ended, it stays quiet rather than guess.
Supported platforms and the token each one needs
Every platform uses a read-only token. Some also need one non-secret setting next to it.
| Platform | Token | Also needed | Checked every |
|---|---|---|---|
| Vercel | Access token from vercel.com/account/settings/tokens, scoped to the team you deploy from | Team ID (team_…), only for a team account | 15 seconds |
| Netlify | Personal access token from User settings → Applications | Nothing | 30 seconds |
| Cloudflare Pages and Workers | Custom API token with Account · Cloudflare Pages · Read and Account · Workers Scripts · Read | Account ID, from your dashboard URL | 15 seconds |
| Railway | Account token from railway.com/account/tokens (a project token won't work) | Nothing | 60 seconds |
| Render | API key from Account Settings → API Keys | Nothing | 30 seconds |
| Heroku | Run heroku authorizations:create -d Switchy, or use the API key from Account settings | Nothing | 60 seconds |
| DigitalOcean App Platform | API token with read scope, from API → Tokens | Nothing | 15 seconds |
| Coolify | API token with read-only permission, from Keys & Tokens → API tokens | Your Coolify URL | 15 seconds |
Cloudflare Workers deployed with wrangler deploy have no build on Cloudflare's side to watch, so they show up as a single "deployed" notification and a green flash. Coolify needs https, except for localhost, .local and private network addresses, which may use plain http.
How to add a deploy token
- Open Switchy from the menu bar, click Customize and add the Deploys switch to your panel. It's hidden on a fresh install.
- Turn on Deploys and allow notifications when macOS asks.
- Open Settings → Deploys and pick your platform.
- Create a read-only token on that platform. The line under the token field tells you where to find it.
- Paste the token. Fill in the Team ID, Account ID or Coolify URL if the platform asks for one.
- Click Save & Test. You'll see "Connected" with the number of deploys running now, or the platform's own error message.
Repeat for each platform you use. Watching starts again on its own the next time you launch Switchy.
Your tokens stay in your Keychain
Switchy saves each token in your Mac's login Keychain, on this Mac only, and never syncs it. Team IDs, account IDs and your Coolify URL are kept in the app's preferences. A token is only ever sent to its own platform's API, to read your recent deployments. You can replace or remove a token from the same settings screen at any time. The privacy page lists everything Switchy stores and where.
Localhost: your dev servers in the same card
Under your deploys, the Localhost section lists servers listening on common development ports: 3000 to 3002, 3333, 4000, 4200, 4321, 5000, 5173, 5174, 7000, 8000, 8080, 8787 and 9000, plus Postgres (5432), Redis (6379), MongoDB (27017) and Ollama (11434). Each row shows the port and the process name. You can open it in your browser, copy its URL, or stop it. Switchy asks before stopping a database or model server, since that can lose unsaved data. It scans when you open the panel or click the refresh button, using the lsof tool built into macOS.
Limits worth knowing
- Switchy polls each platform every 15 to 60 seconds, so the pill can trail the platform's own dashboard by up to a minute. It backs off when a platform rate limits it.
- It's read-only. You can't start, cancel or roll back a deploy from Switchy.
- One token per platform, so you watch one Vercel team or one Coolify instance at a time.
- Other hosts, such as Fly.io or GitHub Actions, aren't supported.
- Watching runs while your Mac is awake and Switchy is unlocked by the trial or a license.
More from Switchy
Every switch your Mac hides, one click from the clock.