Shopify Integration Troubleshooting
Fix common ERPClaw Shopify integration issues. Pairing code expired, OAuth scope errors, sync failures, status card stuck, webhook 401s, and reinstall flow.
Pick the symptom that matches. Each fix is short; most problems are a stale pairing code or an offline ERPClaw instance.
”App Bridge did not initialize” inside Shopify admin
This almost always means the app was opened via a direct URL instead of through the Shopify Admin. App Bridge only initializes when loaded inside the Shopify iframe with the correct session context.
Open the app the supported way:
https://admin.shopify.com/store/<your-shop>/apps/erpclaw-accounting-erp
If that still fails, clear your browser cache for admin.shopify.com
and reload.
”Pairing code missing or expired”
Pairing codes live for ten minutes and can only be used once. If you waited too long or the code was already redeemed, generate a fresh one.
Open this URL in a browser where you are logged in to the Shopify admin:
https://shopify.erpclaw.ai/oauth/install?shop=<your-shop>.myshopify.com
The admin UI reloads with a new code. Run
erpclaw shopify-connect --pairing-code NEW-CODE within ten minutes.
OAuth fails with “invalid scope”
You are running an older build of the app that predates the umbrella
read_shopify_payments_accounts scope. Reinstall to get the current
scope set.
- Uninstall from Settings > Apps and sales channels in Shopify Admin.
- Wait a few seconds.
- Reinstall from the App Store.
shopify-connect says “pairing not found”
The code was already redeemed, or the ten-minute window lapsed. Pairing codes are single-use by design. Generate a fresh code (above) and retry.
First sync brings in zero orders
Two common causes. First, the store genuinely has no orders yet. Open
your Shopify Admin Orders tab and confirm. Second, the read_orders
scope was not granted, which can happen after a botched reinstall.
Verify and re-run:
erpclaw shopify-test-connection
erpclaw shopify-start-full-sync
If shopify-test-connection reports a scope problem, reinstall the
app from the App Store.
Webhooks return 401 in my monitoring
A 401 from our Worker means the HMAC signature did not verify. Real Shopify deliveries always sign correctly, so 401s are usually:
- A synthetic probe (uptime monitor,
curltest) hitting the webhook endpoint without a valid signature. Expected and safe. - A Worker secret rotation that drifted out of sync with Shopify. Rare.
Genuine Shopify webhook traffic from your store should always return 200. Verify by triggering a test webhook from **Settings > Notifications
Webhooks**.
Status card stays stuck on a stale timestamp
The status card reflects the last push from your ERPClaw. If the timestamp stops advancing, your push daemon is not running.
On Linux with systemd:
systemctl --user status erpclaw-shopify-push
On macOS:
launchctl list | grep erpclaw
If the daemon is missing, reinstall it:
erpclaw shopify-install-daemon
You can also force an immediate push:
erpclaw shopify-push-status
Uninstall and reinstall
Shopify retains the install record for 48 hours after uninstall
because the shop/redact webhook fires on that delay. During that
window you can reinstall any time. After 48 hours all traces of your
shop are gone from our KV and the install starts from zero.
To reinstall immediately, go to the App Store listing and click Add app again. Run through the pairing flow as if it were fresh.
Where to get help
- Email
[email protected]with your shop domain, the ERPClaw version (erpclaw shopify-status), and the error message. - Open a GitHub issue at github.com/avansaber/erpclaw-addons/issues.
- Source code for the Shopify integration is public; you can read exactly what happens at each step.