Setup: Next.js app on Vercel, private GitHub repo, pnpm monorepo (app at root + two workspace packages under packages/).
Symptom: Since a specific commit that deployed fine, every subsequent push to any non-production branch has produced zero deployment records — not building, not failing, not queued, just completely absent from the deployments list. Confirmed across:
- 10+ commits on a real feature branch over ~15 hours.
- A brand-new throwaway branch with no associated PR at all, pushed specifically to rule out anything PR-state-related — also zero deployments.
Meanwhile, in the same window:
- Pushes to the production branch trigger deployments normally (confirmed twice, one within ~5 seconds of the push).
- A PR opened by
vercel[bot]itself (the “Install Vercel Web Analytics” flow) deployed successfully.
GitHub side effect: the affected commits show a status context posting an instant “failure” pointing at a dead vercel.link/... short URL (404s), plus a second context stuck permanently in “pending,” never resolving.
What I’d already ruled out before contacting support: Ignored Build Step (tested an override, no effect), Preview Branch Tracking (enabled, unrestricted — “All unassigned branches”), no custom Environments exist, GitHub App installation has “All repositories” + full read/write permissions, team usage/billing all well under limits, a full disconnect/reconnect of the Git integration.
Vercel support’s diagnosis:
You’re right — this setting isn’t exposed in the dashboard UI. The “Skip Unaffected Projects” feature is automatically enabled for monorepos and doesn’t have a toggle in the settings. Based on the API data I retrieved, your project has
enableAffectedProjectsDeployments: trueset internally.You can disable it via
vercel.jsonby adding:{ "git": { "deploymentEnabled": true } }This explicitly tells Vercel to enable deployments for all branches and should override the automatic “skip unaffected” behavior.
I added that config and pushed a fresh test commit — identical zero-deployment result, no change at all.
Support’s follow-up once that didn’t help:
I’m sorry to hear that — since you’re on the Hobby plan, certain issue types may be restricted from case submission due to support team capacity limitations.
Given the technical nature of this issue (silent deployment failures with no user-facing resolution), here are your options:
- Post to the Community Forum — Vercel engineers do monitor it.
- Workaround: create a new Vercel project linked to the same repo. If the issue is a stuck state in the project/repo pairing (broken webhook subscription), a fresh project would get a new webhook registration.
I tried the new-project workaround — and it does NOT fix it, which is the important new data point. A brand-new project imported from the same repo built the initial main import fine (failed only on missing env vars we hadn’t copied over yet, unrelated to this bug). But a subsequent push to the same non-main feature branch produced, on the new project, the exact same symptom as the old one: zero real deployment record, plus a GitHub status context posting an instant “failure” — pointing at the literal same dead vercel.link/... URL, at the same timestamp, as the old project’s status for the same commit.
Two independently-created projects producing an identical stale link for the same commit strongly suggests this isn’t a per-project stuck state at all — something shared at the account or GitHub App integration level (or something about this specific commit/branch lineage) is the actual root cause. If anyone from Vercel sees this, or has hit something similar, I’d really appreciate a pointer — happy to provide deployment IDs / commit SHAs / timestamps on request.