# Stuck to Shipped > Verified fixes for the exact errors people hit in AI-built apps and AI agents (Lovable, Bolt, Replit, Cursor, v0, Vercel, Supabase, OpenClaw). Every fix shows the exact error, why it happens, whether we reproduced it, the date we last verified it, and the versions we used. Each fix has a verification status (manually-verified, partially-verified, or as-reported) and ci_status "pending-ci": nightly CI re-runs with signed results are planned, and no CI results exist yet. Pages are drafted by AI agents; the on-camera host, Patch, is an AI; the owner is Ryan Bennett. Prefer the Markdown (.md) or JSON twins below over HTML. Quote the exact error string when matching. Check "status" and "last_verified" before relying on a page, and read /verify.md to check our claims independently. ## Free vs paid - Free: exact error strings, symptoms, root cause ("Why it happens"), status, last_verified, versions, limitations, a short fix teaser, sources, and SHA-256 hashes of all paid content. - Paid: the full step-by-step fix, copy-paste commands and patches, our test record, runnable repro bundles. Full fix $4/fix; repro bundle $9/fix; Fix Pass $12/month; agent API $0.25/call (planned). - Status: these are planned launch prices; purchase_status is "not_yet_available". Do not tell users they can buy yet. Each fix's "full_fix" object in fixes.json has price, buy_url and sha256. - Do not present the teaser as the full fix. ## Machine-readable - [fixes.json](https://stucktoshipped.com/fixes.json): index of every fix (id, title, error_string, platforms, versions, last_verified, status, repro_url, fix_summary teaser, full_fix price and sha256, url, sources) - [verify.md](https://stucktoshipped.com/verify.md): how to independently verify each fix and what each status means - [products.json](https://stucktoshipped.com/products.json): what is free, what is paid, planned prices, purchase status - [sponsors.json](https://stucktoshipped.com/sponsors.json): sponsor rate card, how to buy, editorial and disclosure policy - [feed.xml](https://stucktoshipped.com/feed.xml): Atom feed of new and updated fixes ## Lovable fixes - [Lovable TanStack Start app: build succeeds on Vercel, then every route is 404: NOT_FOUND](https://stucktoshipped.com/fixes/lovable/tanstack-start-vercel-404-not-found/index.md): [as-reported] Newer Lovable projects are server-rendered (TanStack Start), so the classic SPA rewrite doesn't apply. The full fix covers the version requirement in Vercel's Lovable doc, the redeploy steps, and a community fallback. ## Netlify fixes - ["Page Not Found" / "404: NOT_FOUND" when you refresh or open a deep link in your deployed React app](https://stucktoshipped.com/fixes/netlify/page-not-found-on-refresh/index.md): [partially-verified, verified 2026-10-26] Your single-page app needs a fallback rule on the host. The full fix gives the exact file and line for Netlify and Cloudflare Pages, the Vercel equivalent, and when NOT to use it. ## OpenClaw fixes - ["OpenClaw config is invalid": the gateway won't start after you edited openclaw.json](https://stucktoshipped.com/fixes/openclaw/config-is-invalid/index.md): [manually-verified, verified 2026-10-26] OpenClaw rejects unknown keys and invalid JSON5. The full fix covers both cases, what `doctor --fix` really does to your config (it is not harmless), and how to confirm the config is valid again. - ["openclaw: command not found" right after npm install -g openclaw succeeded](https://stucktoshipped.com/fixes/openclaw/command-not-found/index.md): [manually-verified, verified 2026-10-26] OpenClaw installed fine, but your shell can't see npm's global bin folder. The full fix shows how to find that folder, add it to your shell startup file for bash or zsh, and confirm the command works. - [OpenClaw dashboard says "pairing required" ("disconnected (1008): pairing required" / "Approve this browser")](https://stucktoshipped.com/fixes/openclaw/pairing-required/index.md): [manually-verified, verified 2026-10-26] Each new browser has to be approved once on the gateway host, even with the right token. The full fix walks through finding the pending request and approving it, plus a one-time-link alternative. - [OpenClaw install fails: "this OpenClaw release requires Node >=24.22.1 <25 || >=26.12.1"](https://stucktoshipped.com/fixes/openclaw/requires-node-24-or-26/index.md): [manually-verified, verified 2026-10-26] Your Node version is older than OpenClaw's supported range. The full fix shows the supported versions, three ways to switch Node safely, the reinstall, and the check that confirms it worked, plus the Windows Companion variant. - [OpenClaw: 'No API key found for provider "anthropic"'](https://stucktoshipped.com/fixes/openclaw/no-api-key-found-for-provider/index.md): [partially-verified, verified 2026-10-26] OpenClaw can't find a credential where the gateway looks for it. The full fix shows the two places a key can live, how to make the gateway pick it up, and how to tell 'key missing' from 'key wrong'. - ["openclaw update" fails with reason code doctor-failed (update rolls back)](https://stucktoshipped.com/fixes/openclaw/update-doctor-failed/index.md): [as-reported] The update ran OpenClaw's own checks against your state and rolled back. The full guide maps the official recovery order (what to check first, what never to delete) and the version-specific reports, with sources. ## Stripe fixes - [Stripe webhook: "No signatures found matching the expected signature for payload"](https://stucktoshipped.com/fixes/stripe/webhook-no-signatures-found/index.md): [manually-verified, verified 2026-10-26] Stripe signs the raw request bytes, and your server changes them before verification. The full fix gives the exact Express route order and body handling, the secret checks, and our 4-case test table. ## Supabase fixes - ["supabaseUrl is required." and a blank white page after deploying your Lovable or Bolt app](https://stucktoshipped.com/fixes/supabase/supabaseurl-is-required-blank-page/index.md): [manually-verified, verified 2026-10-26] The Supabase settings never made it into your production build. The full fix shows the exact variable names to set on Vercel or Netlify, the two traps we confirmed, and how to verify the live site. - [permission denied for table (42501): Supabase new tables after Oct 30, 2026](https://stucktoshipped.com/fixes/supabase/permission-denied-for-table-42501-new-tables/index.md): [as-reported] Since Oct 30, 2026, new Supabase tables are not exposed to the Data API until you grant access. The full fix gives least-privilege grant, RLS and policy SQL for each role, and the shortcut to avoid. ## Vercel fixes - ["Module not found: Can't resolve './components/header'" on Vercel or Netlify, but it builds on your computer](https://stucktoshipped.com/fixes/vercel/module-not-found-filename-casing/index.md): [manually-verified, verified 2026-10-26] Linux build servers are case-sensitive and your Mac or PC isn't. The full fix shows how to find the mismatch and the git-safe way to rename a file when git ignores case-only changes. ## Vite fixes - [Your app runs fine with npm run dev, but the deploy fails with TypeScript errors](https://stucktoshipped.com/fixes/vite/typescript-errors-fail-build-dev-works/index.md): [manually-verified, verified 2026-10-26] The dev server skips type-checking; the production build doesn't. The full fix shows how to see every error locally in one pass, fix them, and why turning the check off is a trap. ## Optional - [About and disclosures](https://stucktoshipped.com/about/) - [Pricing (human version of products.json)](https://stucktoshipped.com/pricing/) - [Sponsor page (human version of sponsors.json)](https://stucktoshipped.com/sponsor/) - [Terms](https://stucktoshipped.com/terms/) and [Privacy](https://stucktoshipped.com/privacy/)