Shopify app CI error due to Next-Gen Dev

Topic summary

A GitHub Actions CI pipeline for deploying a Shopify app began failing after the Partner panel was migrated to Next-Gen Dev. The error message explicitly states that CLI version 3.84.1 or higher is required to manage apps on the new platform.

The error occurred because:

  • The app was migrated to Next-Gen Dev
  • The existing CI workflow used an outdated Shopify CLI version
  • Node.js 18 was being used instead of the recommended version 20

Solution provided (self-resolved):

  • Upgrade to the latest Shopify CLI version (@shopify/cli@latest)
  • Update Node.js from version 18 to 20 in the GitHub Actions workflow
  • Change the deploy command from npm run deploy to the direct CLI command shopify app deploy

A complete updated GitHub Actions workflow file was shared showing these changes implemented for both production (main) and staging branches.

Summarized with AI on October 24. AI used: claude-sonnet-4-5-20250929.

My Shopify Partner panel has been updated to the Next-Gen Dev. Due to this change, I started to receive the following error message in my GitHub Actions:

Run npm run deploy -- -f --source-control-url "$COMMIT_URL" $DEPLOY_CONFIG

> shopifyapp@1.0.0 deploy
> shopify app deploy -f --source-control-url https://github.com/rafaelstz/shopifyapp/commit/e7198dd09e76dbdfeb95197715bc959fe90eeba2 --config shopify.app.toml

╭─ error ──────────────────────────────────────────────────────────────────────╮
│                                                                              │
│                                                                              │
│  The Partners GraphQL API responded unsuccessfully with errors:              │
│                                                                              │
│  [                                                                           │
│    {                                                                         │
│      "message": "This app has been migrated to the new Next-Gen Dev          │
│  Platform. Please use CLI version 3.84.1 or higher to manage this app.",     │
│      "locations": [                                                          │
│        {                                                                     │
│          "line": 3,                                                          │
│          "column": 5                                                         │
│        }                                                                     │
│      ],                                                                      │
│      "path": [                                                               │
│        "app"                                                                 │
│      ]                                                                       │
│    }                                                                         │
│  ]                                                                           │
│                                                                              │
│  Request ID: aa71972e-e3a2-43a4-b145-dc74e6a7e7f1-1760013177                 │
│                                                                              │
│                                                                              │
│  To investigate the issue, examine this stack trace:                         │
│    at makeRequest (opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/@s  │
│    hopify/cli/dist/chunk-TNF6QFVZ.js:27347)                                  │
│    at processTicksAndRejections (node:internal/process/task_queues:95)       │
│    at performRequest [as request] (opt/hostedtoolcache/node/18.20.8/x64/lib  │
│    /node_modules/@shopify/cli/dist/chunk-TMYCLPMW.js:136547)                 │
│    at async runRequestWithNetworkLevelRetry (opt/hostedtoolcache/node/18.20  │
│    .8/x64/lib/node_modules/@shopify/cli/dist/chunk-TNF6QFVZ.js:27402)        │
│    at async makeVerboseRequest (opt/hostedtoolcache/node/18.20.8/x64/lib/no  │
│    de_modules/@shopify/cli/dist/chunk-TNF6QFVZ.js:27413)                     │
│    at async retryAwareRequest (opt/hostedtoolcache/node/18.20.8/x64/lib/nod  │
│    e_modules/@shopify/cli/dist/chunk-TNF6QFVZ.js:27500)                      │
│    at (opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/@shopify/cli/d  │
│    ist/chunk-TMYCLPMW.js:136552)                                             │
│    at (opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/@shopify/cli/d  │
│    ist/chunk-63DIRIVX.js:29528)                                              │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯

Error: Process completed with exit code 1.

This is my GitHub Actions yml file, following the previous recommended approach:

name: Deploy app
on:
  push:
    branches:
      - main
      - staging
jobs:
  deploy:
    name: Deploy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v3
        with:
          node-version: 18
          cache: 'npm'
      - name: Install npm dependencies
        run: npm install
      - name: Install Shopify CLI
        run: npm install -g @shopify/cli
      - name: Set deployment config for Production (main branch)
        if: github.ref == 'refs/heads/main'
        run: |
          echo "SHOPIFY_API_KEY=${{ secrets.SHOPIFY_API_KEY_PROD }}" >> $GITHUB_ENV
          echo "DEPLOY_CONFIG=" >> $GITHUB_ENV
      - name: Set deployment config for Beta (staging branch)  
        if: github.ref == 'refs/heads/staging'
        run: |
          echo "SHOPIFY_API_KEY=${{ secrets.SHOPIFY_API_KEY_STG }}" >> $GITHUB_ENV
          echo "DEPLOY_CONFIG=--config shopify.app.toml" >> $GITHUB_ENV
      - name: Deploy
        env:
          # Token from the Partner Dashboard
          SHOPIFY_CLI_PARTNERS_TOKEN: ${{ secrets.SHOPIFY_CLI_PARTNERS_TOKEN }}
          COMMIT_URL: ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}
          # SHOPIFY_API_KEY is set dynamically above based on branch
        run: npm run deploy -- -f --source-control-url "$COMMIT_URL" $DEPLOY_CONFIG

How to solve it?

How to solve it :backhand_index_pointing_down:

  • Use the latest CLI version
  • Upgrade your Node from 18 to 20
  • Use the new command line

Updated file:

name: Deploy app
on:
  push:
    branches:
      - main
      - staging
jobs:
  deploy:
    name: Deploy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v3
        with:
          node-version: 20
          cache: 'npm'
      - name: Install npm dependencies
        run: npm install
      - name: Install Shopify CLI
        run: npm install -g @shopify/cli@latest
      - name: Set deployment config for Production (main branch)
        if: github.ref == 'refs/heads/main'
        run: |
          echo "SHOPIFY_API_KEY=${{ secrets.SHOPIFY_API_KEY_PROD }}" >> $GITHUB_ENV
          echo "DEPLOY_CONFIG=" >> $GITHUB_ENV
      - name: Set deployment config for Beta (staging branch)  
        if: github.ref == 'refs/heads/staging'
        run: |
          echo "SHOPIFY_API_KEY=${{ secrets.SHOPIFY_API_KEY_STG }}" >> $GITHUB_ENV
          echo "DEPLOY_CONFIG=--config shopify.app.toml" >> $GITHUB_ENV
      - name: Deploy
        env:
          # Token from the Partner Dashboard
          SHOPIFY_CLI_PARTNERS_TOKEN: ${{ secrets.SHOPIFY_CLI_PARTNERS_TOKEN }}
          COMMIT_URL: ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}
          # SHOPIFY_API_KEY is set dynamically above based on branch
        run: shopify app deploy -f --source-control-url "$COMMIT_URL" $DEPLOY_CONFIG