Skip to content

Common Issues

Quick fixes for the most frequently reported problems

This page collects fixes for issues we hear about most often. If you don’t see your problem here, ask in the in‑app support chat or post in the Community.

The preview sandbox can occasionally enter a stuck state, especially after large changes or package additions.

  • Click Restart Preview in the preview toolbar before asking the agent to “fix it again.” Restarting is usually faster — and free — compared to letting the agent retry.
  • If the preview reports running (with errors), expand the Logs panel to see which file failed. Errors there are often a quick syntax or import fix.
  • If you’ve just added or removed a package, you may need a new native build to pick it up.

If the Builder offers a static preview fallback, use it to inspect the last working state while the agent fixes the live preview.

To see which part of the preview is stuck, open More > Sandbox Status. See Sandbox status for what each item means.

  • Sandbox Paused means nobody used any app in the project for a while. Click Restart Sandbox to start it again. See When a sandbox pauses.
  • Open project limit reached means your organization already has as many projects open as your plan allows. Select an open project and click Close project name and continue, or click Add a seat or upgrade for a higher limit. See Open project limit.

If you find yourself sending “fix it” → “still broken” → “try again,” you’re likely paying for the same context to be re‑processed.

  • Stop, read the most recent error in Logs or the chat output, and send a single targeted message describing the actual error.
  • If the thread has more than ~15 messages, start a fresh thread with a short summary of the current state plus the specific error.
  • See Using Credits Efficiently for the full playbook.

Most often this means a file was moved or renamed, or a package wasn’t installed.

  • For a missing package, ask the agent to add it — it will install via npm and update app.json if needed. See the Adding Packages with AI Chat guide.
  • For a missing file, check the path in the import. Imports are case‑sensitive — ./userProfile and ./UserProfile are different files on the build server even if they look the same on macOS.

The Code Editor checks every file for syntax errors before saving. If save is blocked, look for the inline diagnostic in the gutter and fix the highlighted line, then save again.

Environment variable is not available in code

Section titled “Environment variable is not available in code”

Open Settings and verify:

  • the variable name matches exactly, including capitalization
  • plain text Expo variables use the EXPO_PUBLIC_ prefix
  • the value is enabled for the environment you are previewing or publishing (see which environment each build uses)
  • sensitive variables are only used from build-time configuration files, not runtime app code

After changing variables that affect builds, restart the preview or create a new native preview build.

Open your account credit page to review your balance and usage. You can buy more credits, upgrade your plan, earn bonus credits, or switch eligible threads to a connected BYOK provider or subscription.

If you are using your own API key or subscription, check the provider message in chat. Draftbit shows provider-specific usage-limit and authentication errors when the issue comes from OpenAI, Anthropic, OpenRouter, Claude, or Codex.

  • Confirm your publishing config is complete on the Publishing page (App Store Connect / Play Console credentials, signing key).
  • If signing fails (for example, after you revoke a certificate or change keys), open the destination’s card on the Publish Destinations tab. In the Advanced section at the bottom, use Delete generated certificates (iOS) or Delete generated signing key (Android), then publish again. On Android, you can instead upload your existing keystore. See Signing Credentials before deleting anything: a new Android key needs an upload key reset with Google.
  • If a build started but never finished, check the build log on the Publishing page for the actual error.

Integration says connected but the agent cannot use it

Section titled “Integration says connected but the agent cannot use it”

Open Integrations and check the integration status. If the connection is not ready, reconnect or reauthenticate it.

For MCP integrations, make sure any required upstream service settings are enabled. For example, Xano MCP connections require realtime resources on the Xano instance.

App preview works but the published app is broken

Section titled “App preview works but the published app is broken”

The published app uses the values in its app configuration (bundle identifier, scheme, icons, splash, etc.), not the name and description on the Basic tab of Settings › General. If a setting only shows up after publishing, double-check the configuration tabs in Settings › General.

If app creation says your browser could not save the creation request, allow site storage for Draftbit and try again. If storage is full, copy your prompt and try another browser, or contact support before removing site data.

When browser storage is unavailable, chat drafts remain in the current tab. Copy any unsent prompt before reloading or closing the tab. File edits continue to sync, but confirm they have finished syncing before leaving the Builder.

  • Use Chrome, a Chromium-based browser, or Firefox. Safari has known compatibility limitations.
  • Disable ad-blockers or privacy extensions for draftbit.com if the Builder fails to load assets or the agent can’t reach the sandbox.
  • If a screen is blank, do a hard reload (Cmd/Ctrl + Shift + R) and check the browser console for errors.
  • If the Builder says You’re offline, check your internet connection, then click Refresh on the message. If it says We couldn’t verify your session, refresh the page. When that message keeps coming back, turn off browser extensions and any VPN, or try a different browser profile. An unsent chat message stays in the input box, so you can send it again after refreshing.