Skip to content

Troubleshooting

What the editor's messages mean and what to do: an older preview, phone testing, connections, Sanic AI, credits and limits, saving and finding settings.

9 min readPublished 7 November 2026

On this page
  1. The preview or your code
  2. The preview shows an older version
  3. It works in the browser but not on a phone
  4. Phone testing will not start
  5. A connection check fails or a key is refused
  6. Connection settings changed elsewhere
  7. Sanic AI is waiting for you
  8. Credits and plan limits
  9. Your changes are not saving
  10. You cannot find a setting
  11. Getting help

The preview or your code

The preview shows an older version

When your latest code does not compile, the preview keeps running the last version that worked. The status line under the code editor reads “Fix the errors below · last working preview retained”, and the preview shows “Preview couldn’t update”.

  1. Open Problems below the editor. Each build check gives its message and location; select the location to open the file at that line.
  2. Fix the code, or choose Ask Sanic AI on the preview's card. View code opens the file too.
  3. Look in Console for what the app printed while it ran, in the browser or on your phone.
  4. Once the code compiles, the preview restarts from the top with your latest version. Retry preview tries again.

It works in the browser but not on a phone

A browser compile does not prove a phone can run your code, so Code also checks Android and iOS. The status line then reads “Browser preview up to date” with a count of native issues, and Problems lists each one, labelled Android/iOS. Swap browser elements, globals and libraries for React Native ones, as Write for the phone explains. Test on your phone shows native issues too, under “Let’s get your app ready for Expo Go”, with Fix with Sanic AI.

Phone testing will not start

Open Test on phone in the top bar. The Test on your phone dialog explains most problems itself, so match its message below. Preview and test on a phone covers the usual steps.

What you seeWhat to do
The dialog asks you to Connect your Expo account, and Start phone preview is unavailablePaste an Expo personal access token (Create an Expo token opens the page that makes one) and choose Connect Expo account. Then sign in to that same account in Expo Go on your phone.
“Expo could not verify this token. Create a personal access token and try again.”Create a new personal access token in your Expo account and paste it again. If you see “Use a personal Expo account token.”, make the token from your own Expo user account, not a robot account.
“Hosted phone testing is not available on this deployment.”Phone testing is switched off where you use Appsanic, so nothing in your project needs fixing. Keep testing with Preview, and contact us if you expected it to be on.
“Hosted phone testing requires an active paid plan.”Phone testing comes with the paid plans. Plans, credits and storage compares their phone minutes.
“Your monthly phone preview allowance is used. Upgrade your plan or wait for next month.”Your plan's phone minutes for this month are used. Wait for next month, or move to a plan with more minutes.
“A phone preview is already active on your account. Stop it before starting another.”One phone preview runs at a time. Choose Use this project instead to stop the other one. If you are told your previous preview is stopping, wait a few seconds and start again.
“Stop the previous project’s preview before starting this one.”Choose Retry stop previous preview, then start this project's preview.
“Resolve your unsaved code changes in Code before running this app on your device.”Finish or undo the code you are typing so it can apply, then start again.
“Changes need fixing”, with a list under “Let’s get your app ready for Expo Go”Something in your code cannot run on a phone. Open each file from the list, or choose Fix with Sanic AI and review its request, then choose Try again or Check again.
The QR code does not open your appOn Android, scan it inside Expo Go; on iPhone, use the Camera app, with Expo Go signed in to the account you connected. Setup help names the Expo SDK the preview uses, and your Expo Go has to support it.
Updates stop, or a phone shows “No recent signal”Keep Expo Go in the foreground and check for VPN or firewall restrictions. If updates stop, enable Fast Refresh or reload in Expo Go. New connection makes a fresh QR code, and your app's test state may reset.
The preview ended while you were awayA session ends after 15 minutes without activity, or after 60 minutes in all. Start a new one.

A connection check fails or a key is refused

In Connectors, Connect and Save and check check your details before saving them, so a connection is only saved once its check succeeds. A failed check shows Connection needs attention with the service's reason, and What was checked? lists each step.

What you seeWhat to do
“Use a Supabase publishable key or legacy anon key. Secret and service_role keys must never be used in an app.”Copy the publishable key, or the older anon key, from your Supabase project. Connectors take only public keys, because the details you enter are included in your app.
“Supabase rejected the API key. Check the project URL and publishable key belong to the same project.”Copy the project URL and the key from the same Supabase project, then choose Check again. Read the check for what it is explains what a check proves.
“The project could not be verified. Check its URL, API key, network connection and whether the project is paused.”Go through those four. If the project is paused, start it again in Supabase, then choose Check again.
“The connection check could not be completed. Check your network and try again.”Check your internet connection, then choose Check again.
“Algolia must confirm that this key has search-only permissions for this index.”Use a search-only key for that index, and run Check connection for both your Test and Live details before saving.
Saved · further testing neededRevenueCat, OneSignal and Sentry run only in a native build, so the check confirms your settings without contacting the service. The browser preview and Expo Go cannot run them; see Where each service runs.

Connection settings changed elsewhere

This callout appears when the saved connection changes while you are editing it. Saving pauses so nothing is overwritten, and your draft stays as it is. Choose Reload saved settings to start from the saved version, then make your change again. If the connection was removed meanwhile, the callout says so, and Undo can bring it back.

Sanic AI is waiting for you

When Sanic AI cannot go on safely, it shows a card in the conversation and waits. Your own edits always come first.

What you seeWhat to do
A card such as “Connect Supabase to continue” or “Enable Supabase to continue”The request needs a service your project does not have yet, or one that is switched off. Choose Open Connectors, set it up, then Continue request, which sends your request again with the current connection settings. Sanic AI never sees the keys you enter; see What it can see.
Keep credentials in Connectors“Credentials were detected in this message.” Nothing was sent to Sanic AI and no changes were applied. Remove the key from your message, add it in Connectors, and send your request again.
“A few changes overlap”, under Your edits come firstYou edited something the proposal also changes, and no AI changes are applied yet. Choose Update with my edits to have Sanic AI rework its proposal around your edits, Check again once you have finished, or Discard AI proposal.
“You’re still making changes. Sanic’s proposal is ready here; check and apply it when you’re ready.”Pause your editing, then choose Check & apply.
“Finish or resolve your code draft, then check these changes again.”Let the code you are typing apply, or undo it, then check the proposal again. Your draft and the proposal are both kept.
You left the editor while Sanic AI was workingOpen Saved AI work in the top bar to reopen saved progress, and review the changes before applying them.

Credits and plan limits

What you seeWhat to do
Build with Sanic AI and Upgrade plan in the Sanic AI panelSanic AI needs a paid plan, even if you have top-up credits. After you upgrade, choose Already upgraded? Refresh access.
“No credits remaining. Visit Billing to review your plan or add credits.”Add credits or change your plan in Plan & billing on your dashboard. Monthly credits are used first, and your own visual edits and code changes use none.
“You need more AI credits to continue. Add credits in Billing.”Add credits in Plan & billing. A lighter model or a smaller request uses fewer credits; see model and effort.
“Your plan's active project limit was reached.”Archive a project you are not using in Projects on your dashboard, or change your plan. An archived project keeps its data and history, still uses storage, and can be restored when your plan has a free project slot.
“Your asset storage is full.”Remove unused uploads, or upgrade your plan, before adding more. Your existing assets and links keep working. Storage is shared by all your projects and cannot be bought on its own.
A lock on a template, with “Your Free plan includes starter templates.”The Free plan opens the starter templates. View plans shows the plans that open the whole collection.

Plans, credits and storage compares what each plan includes.

Your changes are not saving

Under the project name in the top bar, the save status reads Saved, Saving or Not saved · Retry. Choose Not saved · Retry to try again. Your changes stay in the open tab meanwhile, and the browser asks before you leave while some are unsaved.

“This project changed in another session. Your local edits are kept here; reload after reviewing your unsaved changes.” means the project was saved from another tab or device. Note what you changed, then on your dashboard choose Reload saved project and confirm Discard changes and reload to continue from the saved copy. Unsaved changes cannot be recovered after that.

Code you are still typing is not saved until it applies, after a short pause or when you press Ctrl / Cmd + S. See the feedback loop.

You cannot find a setting

You are looking forWhere it is
A property of a component, such as its spacing or colourSelect the component and type in Find a setting… at the top of the Inspector. If it says “No matching settings”, try a broader word such as space, colour or font.
What happens when someone taps a componentThe Inspector's Actions tab.
An app-wide setting, such as the icon, rotation or store detailsSettings in the rail, then Search all settings…. iOS and Android settings appear only for the platforms ticked in Build for.
A page's own settings, such as its status bar or its linkPage settings, with its Page design and Navigation tabs: double-click the page in Pages, or focus it and press F2.
Your app's colours and fontsTheme in the rail.
A service's keys and detailsConnect in the rail.
The right-click menu switchEditor preferences in App settings.

App settings and release checks describes every App settings section, and The Inspector explains how properties are grouped.

Getting help

If this page does not cover your problem, write to us from the contact page. Tell us the project name, what you did just before it happened and the exact message you saw. For phone testing, add your phone model and your Expo Go version.