◉RORK LABJP
●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SDK 58 — Beta since 09/15 with no stable date yet; running projects in Expo Go has required login since 09/03●WIDGET — A write-up traces an iOS widget that renders black only in production builds●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SDK 58 — Beta since 09/15 with no stable date yet; running projects in Expo Go has required login since 09/03●WIDGET — A write-up traces an iOS widget that renders black only in production builds●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…
Articles/Dev Tools
⬡ Dev Tools/2026-04-25Intermediate

Rork Companion Won't Sync or Connect: A Diagnostic Guide

How to diagnose Rork Companion connection failures, QR login issues, and stale previews — symptom-by-symptom on both iOS and Android.

Rork585Rork Companion10Troubleshooting43Sync ErrorLive Preview

"I installed Rork Companion, scanned the QR, and it just spins forever." That was my own first day with Rork Companion. The web editor sat at "waiting for connection," the phone never finished loading. The causes range from trivial to subtle, but with the right diagnostic order you'll resolve it inside five minutes.

This guide organizes Rork Companion failures by symptom — connection, sync delay, broken preview — verified on both iOS and Android.

Step zero: are both devices on the same Wi-Fi?

After QR scan, Rork Companion needs to reach the web editor on the same network. Phone on cellular, PC on Wi-Fi means the QR login can succeed but the live preview never arrives.

Specifically check:

  • The Wi-Fi SSID on phone matches the SSID on PC
  • "Prefer cellular" is off on the phone
  • VPN (especially corporate VPN) is off

I once burned an afternoon because my Mac was on the 5GHz band of the home Wi-Fi while my phone was on the same-named 2.4GHz band — same SSID name, different network segments. Some routers route them as separate networks.

Common QR login failures

A: Stale QR code

Rork's QR codes expire after roughly 60 seconds. Leave the screen long enough and even a successful scan returns "QR has expired." Refresh the page to generate a new one.

B: Outdated Companion app

The App Store / Google Play versions update often. An outdated Companion may not understand newer QR formats. Update the app.

C: Camera permission not granted

If scanning won't work at all, camera permission is the usual cause. Check Rork Companion's permission in Settings → Rork Companion → Camera (iOS) or App Info → Permissions → Camera (Android).

QR connects, but preview doesn't refresh

Different problem. You're connected, you edit code, the phone shows the old build. Possible causes:

Cause 1: hot reload signals can't get through

Rork's preview runs hot reload over WebSocket. Several things can interrupt it:

  • The phone went to sleep — wake it and bring Companion to the foreground
  • Companion was backgrounded — reopen it
  • Battery optimization is restricting Companion in the background — frequent on Android

For Android battery optimization:

Settings → Apps → Rork Companion → Battery → Unrestricted (or Don't Optimize)

Cause 2: the file isn't actually saved

Without Cmd+S in the web editor, the file is "modified" but not saved on Rork's server. Check the save indicator in the editor's top right ("Saving..." → "Saved").

Cause 3: you edited a native module config

Changes to Expo native module configuration (app.json, expo-build-properties) don't reload via hot reload. Tap "Rebuild Preview" in Companion, or run "Force Rebuild" from the web editor.

"Connection Failed" with no obvious cause

A red "Connection Failed" appears in Companion despite all of the above being clean. Two common causes in my experience:

1. Rork server-side issue

If Rork has an official status page, check it first. If the platform is degraded, you wait. Searching X for "rork down" sometimes surfaces other people reporting the same.

2. Project-specific dependency error

A package.json referencing a nonexistent package, or one incompatible with your Expo SDK, can prevent the build from completing — and Companion never establishes a connection. Check the build log (terminal panel, lower left in the web editor).

A frequent culprit: AI-generated code containing hallucinated package names. react-native-amazing-feature — looks plausible, doesn't exist. I've seen this enough times to make it a default first check.

Native features that don't work in Companion

Some native features are intentionally limited in the Companion preview:

  • Camera, microphone, and location permission dialogs appear in the Companion app, not in your previewed app
  • Push notifications don't deliver through Companion (you need a real build)
  • App Clips and Widgets can't be reproduced in Companion

To test these, build with EAS Build and distribute via TestFlight or Internal Testing.

Diagnostic checklist

Walk through these in order based on the symptom.

Can't log in via QR

  1. Same Wi-Fi on phone and PC?
  2. QR scanned within 60 seconds?
  3. Companion app on the latest version?
  4. Camera permission granted?

Logged in but preview is stale

  1. Companion in the foreground?
  2. Cmd+S in the web editor?
  3. If you edited native modules, did you Rebuild Preview?
  4. On Android, is battery optimization disabled for Companion?

"Connection Failed" appears

  1. Rork server status?
  2. Any errors in the web editor's build log?
  3. Anything wrong in package.json dependencies?

What to do first

Whenever you hit a connection issue, just check "same Wi-Fi" first. That alone resolves about 60% of cases. If it doesn't, walk down the symptom-specific checklist.

Because Rork builds happen in the cloud, telling "your environment" from "the platform" is harder than in local dev. Get used to reading the web editor's terminal output — that's where the actual error usually shows up.

Share

Thank You for Reading

Rork Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • ✦Copy-paste ready implementation code
  • ✦New advanced guides published daily
  • ✦$5/mo or $10 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

⬡ Dev Tools2026-10-15
When EXPO_PUBLIC_ Values Read Fine in Dev but Come Back undefined in Production: Telling the Spellings Apart
The API URL reads fine while developing and turns undefined once the app is built. The cause was how process.env was written. I lined up babel-preset-expo's output for dev and production and tabulated which spellings get replaced and which are left behind.
⬡ Dev Tools2026-09-21
A build that stops with exit code 0 — the flag that silenced the log, and the check that let an empty file through
Two reports landed in the same week: eas build --local stopping with exit code 0 but produced no further output, and a zero-byte stub that never got embedded. Both came down to settings that reduce output. Here is how to audit your own scripts.
⬡ Dev Tools2026-06-17
Your Rork App Is Stuck on "Processing" in App Store Connect — A Field Guide to Getting It Unstuck
You uploaded a Rork-built app to App Store Connect, but the build sits on Processing for hours and never shows up in TestFlight or for submission. Here is the exact diagnostic order I follow, how to read the ITMS error codes, and a short script that reads the processing state from the API — with working code.