> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vibely.sh/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> The most common failure modes — and the fastest paths out of each.

**TL;DR**

* Symptom-led — jump to the heading that matches what you're seeing.
* Try the cheapest fix first (logs → re-prompt → restart → reset).
* If three attempts don't unstick it, [start a new chat](/docs/tips/iterating#know-when-to-start-over) — context is usually poisoned by then.

## Jump to

* [Use the inline error cards](#use-the-inline-error-cards)
* [Send an error report](#send-an-error-report)
* [Fix a preview that never loads](#fix-a-preview-that-never-loads)
* [Break the agent out of an error loop](#break-the-agent-out-of-an-error-loop)
* [Recover from a regression](#recover-from-a-regression)
* [Fix connector auth errors](#fix-connector-auth-errors)
* [Unstick "I cannot do that"](#unstick-i-cannot-do-that)
* [Fix external build timeouts (Vercel / Netlify / EAS)](#fix-external-build-timeouts-vercel-netlify-eas)
* [Wait out EAS queue delays](#wait-out-eas-queue-delays)
* [Cut runaway credit spend](#cut-runaway-credit-spend)
* [Bring a published URL back online](#bring-a-published-url-back-online)
* [When all else fails: start over](#when-all-else-fails-start-over)

If your specific problem isn't here, the [FAQ](/docs/reference/faq) and [Support policy](/docs/reference/support-policy) cover broader categories.

## Use the inline error cards

Two surfaces catch errors before you have to go hunting for them.

* **Build error card.** When a build fails, Vibely surfaces an inline card with the error, the file and line, and a suggested fix. Click **Apply suggested fix** to ship the patch to the agent immediately — most of the time the next build is green.
* **Runtime error card / fix banner.** When something throws at runtime in the preview, Vibely catches it in a banner at the top of the preview. The banner names the error and offers a one-click prompt to the agent to fix it. Same pattern: click and the next turn is the fix.

These are usually faster than the manual "read logs → re-prompt" path. The reasoning the cards generate is informed by both the error context and the current file the error came from.

## Send an error report

If a turn fails on the agent's side — a backend error, a build failure that wasn't caught, anything that doesn't fit a normal user mistake — open the **Error feedback panel** from the failed turn and submit a report. The report includes the error, the relevant context, and any note you add. Reports flow to admin review on Vibely's side; serious or recurring issues are addressed there.

This is the right channel for "this looks like Vibely's fault" — different from the prompt-loop pattern below where the agent just needs a better re-prompt.

## Fix a preview that never loads

**Most common cause:** the dev server crashed mid-build.

Recovery, in order of cost:

1. Open the **Logs** drawer and look for a stack trace. It's almost always something simple — missing dependency, syntax error in the most recent file write.
2. Ask the agent directly: *"the preview is blank, check the logs and fix it."* The agent reads the logs and patches it.
3. If the sandbox itself is wedged: **Project menu → Sandbox → Restart**. Your files are preserved; the runtime is rebuilt fresh.
4. If restart didn't fix it: **Sandbox → Reset**. Destroys the running sandbox and creates a new one from your files. Slower than restart, but recovers from rarer failure modes.

**Still stuck?** → [File a ticket via Support policy](/docs/reference/support-policy).

## Break the agent out of an error loop

Three turns trying to fix the same TypeScript error is your signal to stop and re-prompt. The loop has poisoned its own context.

What to do:

* **Be more specific.** Paste the exact error text. Name the file and line.
* **Switch to [Plan Mode](/docs/tips/plan-mode)** and ask for a different approach: *"Plan how we'd fix this without using the type assertion the last two turns kept trying."*
* **Roll back the failed turns.** Bad attempts in the chat history make the agent more likely to repeat them. *"Revert the last 3 turns to {file} and try again with a clean slate."*

**Still stuck?** → [Start a new chat](/docs/tips/iterating#know-when-to-start-over).

## Recover from a regression

Roll back rather than patch. Almost always cleaner.

> *"Revert the last change to `pages/Settings.tsx`."*

Beats *"fix the bug you just introduced"* every time. If you'd already pushed to GitHub before the broken turn, that's your safety net — branch off the green commit.

**Still stuck?** → [Iterating → Sync to GitHub when you're in a green state](/docs/tips/iterating#sync-to-github-when-youre-in-a-green-state).

## Fix connector auth errors

Tokens expire and revocations happen.

* **OAuth connectors** (Slack, HubSpot, Notion) — open the [Connectors](/docs/connectors/overview) drawer and re-authorize. A scope change on the upstream side can break previously-working calls; re-connect with the new scope.
* **API-key connectors** — re-paste the key in the drawer. Especially common after key rotation.
* **Webhook-based connectors** (Stripe, GitHub) — verify the webhook URL is still pointing at your project and the secret matches.

For MCP / Chat connectors specifically (when the agent says it can't read your Linear / Figma / Notion mid-build), the auth lives in a separate panel — see [MCP / Chat connectors → Where credentials live](/docs/connectors/mcp#where-mcp-credentials-live).

**Still stuck?** → [Auth & secrets](/docs/connectors/auth).

## Unstick "I cannot do that"

Usually the tool isn't available in the current mode or project type.

* **[Plan Mode](/docs/tips/plan-mode) is read-only.** Switch out of Plan Mode if you want a code change.
* **Some tools are project-type-specific.** Mobile-only tools won't be available in a web project, etc.
* **A tool may be disabled** in [Project settings → AI → Restrict tool use](/docs/workspace/project-settings#ai).

If none of those apply, provide an alternative path: *"if you can't do X, do Y instead."*

## Fix external build timeouts (Vercel / Netlify / EAS)

Vibely's preview works but the external build fails. The failure is usually unrelated to Vibely.

* **Node version mismatch.** Your hosting platform may default to an older Node than the project needs.
* **Missing env vars.** Local env vars aren't carried to your host — set them at the host level.
* **Missing build secrets.** EAS, in particular, needs signing credentials registered before a production build will succeed.

Read the deploy log; the answer is almost always in there. If you're truly stuck, paste the log into a Vibely prompt — the agent will diagnose it.

**Still stuck?** → [Mobile App → Ship](/docs/mobile-app/ship) for EAS specifics; [Web App → Publish](/docs/web-app/publish) for web hosts.

## Wait out EAS queue delays

The free tier has shared build queues. During peak hours, queue times can stretch.

* Check the EAS dashboard — if your build is "queued", that's a wait, not a failure.
* Vibely doesn't have a knob for this; it's an EAS infrastructure question.
* For predictable build times, upgrade to a paid EAS tier (priority queue).

## Cut runaway credit spend

Usually one of three things:

* **A runaway prompt loop** the agent didn't catch — kill the turn and reset the conversation.
* **A leaked dev server** keeping the sandbox warm 24/7 — restart the sandbox to recycle it.
* **Smart routing keeps picking an expensive model** — pin a smaller one from the model picker in the chat composer if you're doing routine work.

The **Usage** drawer in each project breaks it down per turn so you can spot the source.

**Still stuck?** → [Plans & credits](/docs/introduction/plans-credits).

## Bring a published URL back online

* **DNS issue?** Custom domains can have transient propagation issues. The Domains panel shows DNS health.
* **TLS cert expired?** Vibely auto-renews via Let's Encrypt; if a renewal failed, the panel shows the error. Re-verify is usually the fix.
* **Restricted access mode?** If you switched to Workspace or Password access, the public URL now requires auth. Check **Publish → Access**.

**Still stuck?** → [Web App → Publish](/docs/web-app/publish).

## When all else fails: start over

Start a new chat. Paste in the lessons from this one. It's often the cheapest path forward — see [Iterating → Know when to start over](/docs/tips/iterating#know-when-to-start-over).

If that doesn't help, file a support ticket via the in-app chat or [contact@chatmana.in](mailto:contact@chatmana.in). Response times by plan are in [Support policy](/docs/reference/support-policy).

## Next

<CardGroup cols={2}>
  <Card title="Iterating" icon="arrows-rotate" href="/docs/tips/iterating">
    Habits that prevent most of these failures up front.
  </Card>

  <Card title="Plan Mode" icon="map" href="/docs/tips/plan-mode">
    Read-only reasoning pass before risky changes — the cheapest unstuck-yourself move.
  </Card>

  <Card title="FAQ" icon="circle-question" href="/docs/reference/faq">
    Common questions about how Vibely works.
  </Card>

  <Card title="Support policy" icon="life-ring" href="/docs/reference/support-policy">
    Response times, status page, and how to file a security report.
  </Card>
</CardGroup>
