Vercel for Omarchy
A keyboard-driven Omarchy bar widget for Vercel projects, live deployment status, completion notifications, logs, and failed-build alerts. It uses your existing Vercel CLI login and requires no additional credentials.
Install
omarchy plugin add https://github.com/wesleycole/omarchy-vercel.git --enable
omarchy bar move io.github.wesleycole.vercel --section right
Requirements
- Omarchy with the Quattro shell plugin runtime
vercel, authenticated withvercel logincurlwl-copyfor copy actions
The plugin reads the Vercel CLI OAuth token from
$XDG_DATA_HOME/com.vercel.cli/auth.json and the selected team from
$XDG_DATA_HOME/com.vercel.cli/config.json. It does not modify either file.
Tokens are sent to the Vercel API through curl stdin rather than process
arguments or environment variables.
Features
- Projects with production favicons and live-site shortcuts
- Account-wide and per-project deployment history
- Commit message, project, environment, branch, SHA, status, and error details
- Fast polling while a deployment is active, with a slower idle interval
- Notifications when an observed deployment becomes ready, fails, or is canceled
- Persistent acknowledgement of Needs Attention items
- Vercel dashboard, inspect, build-log, runtime-log, and redeploy actions
- Keyboard navigation and account-wide search
Keys
| Key | Action |
|---|---|
j / k, arrows |
Move selection |
| Enter | Drill into a project or open a deployment |
p |
Show all projects |
d |
Show recent deployments |
/ |
Search projects and deployments |
o |
Open live URL |
b |
Open the Vercel project/deployment dashboard |
i |
Inspect a deployment in a visible terminal |
l |
Show deployment build logs in a visible terminal |
f |
Follow deployment runtime logs in a visible terminal |
c |
Copy live URL or ID |
R |
Confirm and redeploy in a visible terminal |
r |
Refresh |
C |
Clear current Needs Attention items |
h / Escape |
Return to the previous view, then close |
Mouse controls: left click toggles the panel, right click refreshes, and middle click opens the Vercel dashboard.
Display behavior
Deployment rows use the Git commit message as the title and show the project
where needed, status, environment, branch, and short SHA. Project rows load
their production-domain favicon through
favicon.im, falling back to the original square marker
when no production domain is available. This sends each public production
hostname to that third-party favicon service when the project list is shown.
The panel hero keeps the Vercel triangle in account-level views and switches to
the selected project's favicon in its deployment view.
Settings
Add values to the widget entry in ~/.config/omarchy/shell.json:
{
"id": "io.github.wesleycole.vercel",
"refreshIntervalSec": 60,
"activeRefreshIntervalSec": 8,
"deploymentRows": 20,
"notifications": true,
"teamId": ""
}
An empty teamId uses currentTeam from the Vercel CLI config. Set it to
personal to show the personal account instead. The plugin polls every
activeRefreshIntervalSec seconds while a deployment is queued, initializing,
or building, then returns to refreshIntervalSec when idle.
Notifications only fire for deployments first observed running in the current
shell session, so startup does not replay historical results. Clearing Needs
Attention acknowledges current failed deployment IDs. They remain in deployment
history while disappearing from Needs Attention and the bar warning badge. The
acknowledgements persist in $XDG_STATE_HOME/omarchy/vercel.json; failures from
new deployments still appear normally.
Diagnostics
omarchy-shell io.github.wesleycole.vercel diagnose
quickshell log -p "$OMARCHY_PATH/shell" --tail 100
Security and permissions
Like all Omarchy shell plugins, this plugin runs unsandboxed with your user
permissions. It performs no privileged operations and installs no hooks or
services. It reads the existing Vercel CLI configuration, makes authenticated
requests to Vercel, opens URLs, launches visible terminals for explicit CLI
actions, writes acknowledgement state under $XDG_STATE_HOME/omarchy/, and
uses favicon.im as documented above. No token value is included in diagnostics
or logs.
Remove
omarchy plugin remove io.github.wesleycole.vercel
Optional: remove saved Needs Attention acknowledgements:
rm -f "${XDG_STATE_HOME:-$HOME/.local/state}/omarchy/vercel.json"
Development
omarchy plugin validate .
qmllint -I "$OMARCHY_PATH/shell" Panel.qml Service.qml VercelIcon.qml
omarchy restart shell
JavaScript helpers are cached by the QML engine; restart the shell after editing
Api.js or Model.js.