I have reproduced the issue on the latest CLI version.
Yes, I am on the latest version
I have searched existing posts and this report is not a duplicate.
Yes, this isn’t a duplicate
In which of these areas are you experiencing a problem?
Other
Expected behavior
I should be able to start dev or at least get a better error to tell me why dev isn’t starting without having to sift through the verbose logs.
Actual behavior
I’m running shopify app dev and just seeing “Failed to start dev preview”. I’m having a really hard time figuring out what’s causing the issue.
Reproduction steps
I’m really not sure. I thought that it might have to do with the bundle that’s being created but the builds are working fine. It seems like there’s a websocket connection issue but there are no open issues with Cloudflare or on the Shopify status page.
I do see a lot of connection reattempts before extension build attempts but the command doesn’t fail at that step. Its failing after the DevSessionCreate GraphQL call.
x-request-id: 240fa755-b7f1-4b1f-8561-1a009f1c8bdc-1773789043
Verbose output
I couldn’t add the whole log or it wouldn’t let me save the t
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "resource": {
19:34:53 │ extensions │ "url": ""
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "assets": {
19:34:53 │ extensions │ "main": {
19:34:53 │ extensions │ "name": "main",
19:34:53 │ extensions │ "url": "https://xhtml-wildlife-ram-ceo.trycloudflare.com/extensio
ns/dev-d9a9174b-6fd5-10c6-1b4c-0878e92bf4df4f5fc4ca/assets/vending.js",
19:34:53 │ extensions │ "lastUpdated": 1773790493121
19:34:53 │ extensions │ }
19:34:53 │ extensions │ }
19:34:53 │ extensions │ }
19:34:53 │ extensions │ ],
19:34:53 │ extensions │ "localization": null,
19:34:53 │ extensions │ "metafields": null,
19:34:53 │ extensions │ "type": "ui_extension",
19:34:53 │ extensions │ "externalType": "ui_extension",
19:34:53 │ extensions │ "uuid": "dev-d9a9174b-6fd5-10c6-1b4c-0878e92bf4df4f5fc4ca",
19:34:53 │ extensions │ "title": "Start vending",
19:34:53 │ extensions │ "handle": "vending",
19:34:53 │ extensions │ "name": "Start vending",
19:34:53 │ extensions │ "description": "Start Vending Extension",
19:34:53 │ extensions │ "apiVersion": "2026-01",
19:34:53 │ extensions │ "approvalScopes": [
19:34:53 │ extensions │ "read_checkout_external_data",
19:34:53 │ extensions │ "read_customer_address",
19:34:53 │ extensions │ "read_customer_email",
19:34:53 │ extensions │ "read_customer_name",
19:34:53 │ extensions │ "read_customer_personal_data",
19:34:53 │ extensions │ "read_customer_phone"
19:34:53 │ extensions │ ]
19:34:53 │ extensions │ }
19:34:53 │ extensions │ ]
19:34:53 │ extensions │ }
19:34:53 │ extensions │ }
19:34:53 │ extensions │
19:34:53 │ extensions │ 2026-03-17T23:34:53.555Z: Sending websocket with event type update and data:
19:34:53 │ extensions │ {
19:34:53 │ extensions │ "app": {
19:34:53 │ extensions │ "title": "onelive-pos-app-devaoc",
19:34:53 │ extensions │ "apiKey": "2c63d7216577daf75c21d59f17a855f9",
19:34:53 │ extensions │ "url":
"https://devaoc-test-store-2.myshopify.com/admin/oauth/redirect_from_cli?client_id=2c63d7216577daf75c21d59f17a855f9",
19:34:53 │ extensions │ "mobileUrl":
"https://devaoc-test-store-2.myshopify.com/admin/apps/2c63d7216577daf75c21d59f17a855f9?shop=devaoc-test-store-2.myshopif
y.com&host=ZGV2YW9jLXRlc3Qtc3RvcmUtMi5teXNob3BpZnkuY29tL2FkbWluL2FwcHMvMmM2M2Q3MjE2NTc3ZGFmNzVjMjFkNTlmMTdhODU1Zjk"
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "appId": "gid://shopify/App/308536606721",
19:34:53 │ extensions │ "version": "3",
19:34:53 │ extensions │ "root": {
19:34:53 │ extensions │ "url": "https://xhtml-wildlife-ram-ceo.trycloudflare.com/extensions"
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "socket": {
19:34:53 │ extensions │ "url": "wss://xhtml-wildlife-ram-ceo.trycloudflare.com/extensions"
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "devConsole": {
19:34:53 │ extensions │ "url":
"https://xhtml-wildlife-ram-ceo.trycloudflare.com/extensions/dev-console"
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "store": "devaoc-test-store-2.myshopify.com",
19:34:53 │ extensions │ "extensions": [
19:34:53 │ extensions │ {
19:34:53 │ extensions │ "assets": {
19:34:53 │ extensions │ "main": {
19:34:53 │ extensions │ "name": "main",
19:34:53 │ extensions │ "url": "https://xhtml-wildlife-ram-ceo.trycloudflare.com/extensions/dev
-d9a9174b-6fd5-10c6-1b4c-0878e92bf4df4f5fc4ca/assets/vending.js",
19:34:53 │ extensions │ "lastUpdated": 1773790493419
19:34:53 │ extensions │ }
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "supportedFeatures": {
19:34:53 │ extensions │ "runsOffline": false
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "capabilities": {
19:34:53 │ extensions │ "blockProgress": false,
19:34:53 │ extensions │ "networkAccess": false,
19:34:53 │ extensions │ "apiAccess": false,
19:34:53 │ extensions │ "collectBuyerConsent": {
19:34:53 │ extensions │ "smsMarketing": false,
19:34:53 │ extensions │ "customerPrivacy": false
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "iframe": {
19:34:53 │ extensions │ "sources": []
19:34:53 │ extensions │ }
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "development": {
19:34:53 │ extensions │ "status": "success",
19:34:53 │ extensions │ "resource": {
19:34:53 │ extensions │ "url": ""
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "root": {
19:34:53 │ extensions │ "url":
"https://xhtml-wildlife-ram-ceo.trycloudflare.com/extensions/dev-d9a9174b-6fd5-10c6-1b4c-0878e92bf4df4f5fc4ca"
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "hidden": false,
19:34:53 │ extensions │ "localizationStatus": ""
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "extensionPoints": [
19:34:53 │ extensions │ {
19:34:53 │ extensions │ "target": "pos.home.tile.render",
19:34:53 │ extensions │ "module": "./src/VendingTile.tsx",
19:34:53 │ extensions │ "metafields": [],
19:34:53 │ extensions │ "urls": {},
19:34:53 │ extensions │ "preloads": {},
19:34:53 │ extensions │ "build_manifest": {
19:34:53 │ extensions │ "assets": {
19:34:53 │ extensions │ "main": {
19:34:53 │ extensions │ "filepath": "vending.js",
19:34:53 │ extensions │ "module": "./src/VendingTile.tsx"
19:34:53 │ extensions │ }
19:34:53 │ extensions │ }
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "surface": "point_of_sale",
19:34:53 │ extensions │ "root": {
19:34:53 │ extensions │ "url": "https://xhtml-wildlife-ram-ceo.trycloudflare.com/extensions/d
ev-d9a9174b-6fd5-10c6-1b4c-0878e92bf4df4f5fc4ca/pos.home.tile.render"
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "resource": {
19:34:53 │ extensions │ "url": ""
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "assets": {
19:34:53 │ extensions │ "main": {
19:34:53 │ extensions │ "name": "main",
19:34:53 │ extensions │ "url": "https://xhtml-wildlife-ram-ceo.trycloudflare.com/extensions
/dev-d9a9174b-6fd5-10c6-1b4c-0878e92bf4df4f5fc4ca/assets/vending.js",
19:34:53 │ extensions │ "lastUpdated": 1773790493121
19:34:53 │ extensions │ }
19:34:53 │ extensions │ }
19:34:53 │ extensions │ },
19:34:53 │ extensions │ {
19:34:53 │ extensions │ "target": "pos.home.modal.render",
19:34:53 │ extensions │ "module": "./src/StartVending.tsx",
19:34:53 │ extensions │ "metafields": [],
19:34:53 │ extensions │ "urls": {},
19:34:53 │ extensions │ "preloads": {},
19:34:53 │ extensions │ "build_manifest": {
19:34:53 │ extensions │ "assets": {
19:34:53 │ extensions │ "main": {
19:34:53 │ extensions │ "filepath": "vending.js",
19:34:53 │ extensions │ "module": "./src/StartVending.tsx"
19:34:53 │ extensions │ }
19:34:53 │ extensions │ }
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "surface": "point_of_sale",
19:34:53 │ extensions │ "root": {
19:34:53 │ extensions │ "url": "https://xhtml-wildlife-ram-ceo.trycloudflare.com/extensions/d
ev-d9a9174b-6fd5-10c6-1b4c-0878e92bf4df4f5fc4ca/pos.home.modal.render"
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "resource": {
19:34:53 │ extensions │ "url": ""
19:34:53 │ extensions │ },
19:34:53 │ extensions │ "assets": {
19:34:53 │ extensions │ "main": {
19:34:53 │ extensions │ "name": "main",
19:34:53 │ extensions │ "url": "https://xhtml-wildlife-ram-ceo.trycloudflare.com/extensions
/dev-d9a9174b-6fd5-10c6-1b4c-0878e92bf4df4f5fc4ca/assets/vending.js",
19:34:53 │ extensions │ "lastUpdated": 1773790493121
19:34:53 │ extensions │ }
19:34:53 │ extensions │ }
19:34:53 │ extensions │ }
19:34:53 │ extensions │ ],
19:34:53 │ extensions │ "localization": null,
19:34:53 │ extensions │ "metafields": null,
19:34:53 │ extensions │ "type": "ui_extension",
19:34:53 │ extensions │ "externalType": "ui_extension",
19:34:53 │ extensions │ "uuid": "dev-d9a9174b-6fd5-10c6-1b4c-0878e92bf4df4f5fc4ca",
19:34:53 │ extensions │ "title": "Start vending",
19:34:53 │ extensions │ "handle": "vending",
19:34:53 │ extensions │ "name": "Start vending",
19:34:53 │ extensions │ "description": "Start Vending Extension",
19:34:53 │ extensions │ "apiVersion": "2026-01",
19:34:53 │ extensions │ "approvalScopes": [
19:34:53 │ extensions │ "read_checkout_external_data",
19:34:53 │ extensions │ "read_customer_address",
19:34:53 │ extensions │ "read_customer_email",
19:34:53 │ extensions │ "read_customer_name",
19:34:53 │ extensions │ "read_customer_personal_data",
19:34:53 │ extensions │ "read_customer_phone"
19:34:53 │ extensions │ ]
19:34:53 │ extensions │ }
19:34:53 │ extensions │ ]
19:34:53 │ extensions │ }
19:34:53 │ extensions │
────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ (d) Dev status │ (a) App info │ (s) Store info │ (q) Quit
⠴ Preparing dev preview
2026-03-17T23:34:53.585Z: Sending "App Management" GraphQL request:
mutation CreateAssetURL($sourceExtension: SourceExtension!, $organizationId: ID!) {
appRequestSourceUploadUrl(
sourceExtension: $sourceExtension
organizationId: $organizationId
) {
sourceUploadUrl
userErrors {
field
message
__typename
}
__typename
}
}
With variables:
{
"sourceExtension": "BR",
"organizationId": "gid://shopify/Organization/129013887"
}
────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ (d) Dev status │ (a) App info │ (s) Store info │ (q) Quit
⠙ Preparing dev preview
2026-03-17T23:34:53.975Z: Request to https://partners-extensions-scripts-bucket.storage.googleapis.com/deployments/app_sources/129013887/e52eb822-7be4-4f8c-adfa-06b3638a695b/source.br?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=argo-project-sa%40shopify-tiers.iam.gserviceaccount.com%2F20260317%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20260317T232913Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=host&X-Goog-Signature=42fda56050866d0f8249c2183aaf016187f189537565577a47e5ec2a851bbb5a7d1f4c0f11b7d3824e7f5f264a442786607b4ada8e71664d4943c629d2a3684e82959ce3ccbb0b6f6e37d250fc48a004b3ee777c177fef840d3ef4728d3bb3db210ad6addb7ca8135ea0130a251fa343d5dd2d9c36b6f2d29b26c6b3f7c902f128c23f7520a4a2d9de916d7e326cd6035ab43559010dc12a194226982d029ae236737ed7b075da0f8bc22b14c2d67d0c37246222f2b7fbdadef904958999e16b43070bc77093bc02f7c412e7f2b8eb4ac74f363bac4b4566555673035172861925a2cbdf07c87ea1b284a06c26d3f545c359f2c21c79358443a04962c5dc288e completed in 389 ms
With response headers:
- content-type: text/html; charset=UTF-8
- etag: "5d12fe37a7323f0c7d542836d4b5b3c9"
2026-03-17T23:34:53.981Z: Sending "App Dev" GraphQL request:
mutation DevSessionCreate($appId: String!, $assetsUrl: String!, $websocketUrl: String) {
devSessionCreate(
appId: $appId
assetsUrl: $assetsUrl
websocketUrl: $websocketUrl
) {
devSession {
websocketUrl
updatedAt
user {
id
email
__typename
}
app {
id
key
__typename
}
__typename
}
warnings {
message
code
__typename
}
userErrors {
message
on
field
category
__typename
}
__typename
}
}
With variables:
{
"appId": "308536606721",
"assetsUrl": "https://partners-extensions-scripts-bucket.storage.googleapis.com/deployments/app_sources/129013887/e52eb822-7be4-4f8c-adfa-06b3638a695b/source.br?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=argo-project-sa%40shopify-tiers.iam.gserviceaccount.com%2F20260317%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20260317T232913Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=host&X-Goog-Signature=42fda56050866d0f8249c2183aaf016187f189537565577a47e5ec2a851bbb5a7d1f4c0f11b7d3824e7f5f264a442786607b4ada8e71664d4943c629d2a3684e82959ce3ccbb0b6f6e37d250fc48a004b3ee777c177fef840d3ef4728d3bb3db210ad6addb7ca8135ea0130a251fa343d5dd2d9c36b6f2d29b26c6b3f7c902f128c23f7520a4a2d9de916d7e326cd6035ab43559010dc12a194226982d029ae236737ed7b075da0f8bc22b14c2d67d0c37246222f2b7fbdadef904958999e16b43070bc77093bc02f7c412e7f2b8eb4ac74f363bac4b4566555673035172861925a2cbdf07c87ea1b284a06c26d3f545c359f2c21c79358443a04962c5dc288e",
"websocketUrl": "wss://xhtml-wildlife-ram-ceo.trycloudflare.com/extensions"
}
────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ (d) Dev status │ (a) App info │ (s) Store info │ (q) Quit
⠋ Preparing dev preview
2026-03-17T23:34:54.582Z: Request to https://devaoc-test-store-2.myshopify.com/app_dev/unstable/graphql.json completed in 601 ms
With response headers:
- content-type: application/json; charset=utf-8
- server-timing: processing;dur=434, verdict_flag_enabled;desc="count=15";dur=0.783, _y;desc="859573a0-19e9-4e1c-b7b5-eb3df0dd9075", _s;desc="c476e44f-0e89-490c-af93-94fb36869527", cfRequestDuration;dur=509.999990
- x-request-id: 73ffe298-6998-4439-adf8-078ce952daf2-1773790494
Operating system
Mac OS 26.3.1 (25D2128)
CLI version
3.92.1
Shell
zsh
Nodejs version
v22.15.1