Shopify app init fails: npm install error

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?

App

Expected behavior

Create new app

Actual behavior

Fails:
2025-10-30T20:45:58.843Z: Running system process:
· Command: npm install

── external error ──────────────────────────────────────────────────────────────────────────────

Error coming from npm install

Command was killed with SIGKILL (Forced termination): npm install

────────────────────────────────────────────────────────────────────────────────────────────────

Reproduction steps

  1. Create AWS EC2 instance with Amazon Linux 2023 (kernel-6.1)
  2. Launch and connect to instance
  3. download & install NVM: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
  4. Restart instance and reconnect
  5. install node: nvm install 22
  6. sudo yum install git
  7. npm install -g @shopify/cli@latest
  8. sudo yum install xdg-utils
  9. shopify app init --verbose
  10. Select “Build a React Router app”, “JavaScript”
  11. Select “Yes, create it as a new app”.
  12. Make up a name

Verbose output

NOTE: Changed all links from “https” to “htxtps” to allow submission. Site only allows 5 links in post.

shopify app init --verbose
2025-10-30T20:45:11.843Z: Running command app init
2025-10-30T20:45:11.990Z: Ensuring that the user is authenticated with the Partners API with the following scopes:

2025-10-30T20:45:11.990Z: Getting session store…
2025-10-30T20:45:11.993Z: Getting current session ID…
2025-10-30T20:45:11.994Z: Validating existing session against the scopes:
[
“openid”,
“htxtps://api.shopify.com/auth/shop.admin.graphql”,
“htxtps://api.shopify.com/auth/shop.admin.themes”,
“htxtps://api.shopify.com/auth/partners.collaborator-relationships.readonly”,
“htxtps://api.shopify.com/auth/shop.storefront-renderer.devtools”,
“htxtps://api.shopify.com/auth/partners.app.cli.access”,
“htxtps://api.shopify.com/auth/destinations.readonly”,
“htxtps://api.shopify.com/auth/organization.store-management”,
“htxtps://api.shopify.com/auth/organization.on-demand-user-access”,
“htxtps://api.shopify.com/auth/organization.apps.manage”
]
For applications:
{
“partnersApi”: {
“scopes”:
}
}

2025-10-30T20:45:11.994Z: - Token validation → It’s expired: false
2025-10-30T20:45:11.995Z: Getting partner account info from cache
? Get started building your app:
:check_mark: Build a React Router app (recommended)

? For your React Router template, which language do you want?
:check_mark: JavaScript

2025-10-30T20:45:24.930Z: Running system process:
· Command: /home/ec2-user/.nvm/versions/node/v22.21.0/bin/shopify
· Working directory: /home/ec2-user/dev

2025-10-30T20:45:28.759Z: Ensuring that the user is authenticated with the App Management API with the following scopes:

2025-10-30T20:45:28.760Z: Getting session store…
2025-10-30T20:45:28.763Z: Getting current session ID…
2025-10-30T20:45:28.764Z: Validating existing session against the scopes:
[
“openid”,
“htxtps://api.shopify.com/auth/shop.admin.graphql”,
“htxtps://api.shopify.com/auth/shop.admin.themes”,
“htxtps://api.shopify.com/auth/partners.collaborator-relationships.readonly”,
“htxtps://api.shopify.com/auth/shop.storefront-renderer.devtools”,
“htxtps://api.shopify.com/auth/partners.app.cli.access”,
“htxtps://api.shopify.com/auth/destinations.readonly”,
“htxtps://api.shopify.com/auth/organization.store-management”,
“htxtps://api.shopify.com/auth/organization.on-demand-user-access”,
“htxtps://api.shopify.com/auth/organization.apps.manage”
]
For applications:
{
“appManagementApi”: {
“scopes”:
},
“businessPlatformApi”: {
“scopes”:
}
}

2025-10-30T20:45:28.764Z: - Token validation → It’s expired: false
2025-10-30T20:45:28.772Z: Sending “BusinessPlatform” GraphQL request:
query UserInfo {
currentUserAccount {
uuid
email
organizations(first: 2) {
nodes {
name
__typename
}
__typename
}
__typename
}
}

With request headers:

  • User-Agent: Shopify CLI; v=3.86.1
  • Keep-Alive: timeout=30
  • Sec-CH-UA-PLATFORM: linux
  • Content-Type: application/json

to htxtps://destinations.shopifysvc.com/destinations/api/2020-07/graphql
2025-10-30T20:45:28.777Z: Sending “BusinessPlatform” GraphQL request:
query ListOrganizations {
currentUserAccount {
uuid
organizationsWithAccessToDestination(destination: APPS_CLI) {
nodes {
id
name
__typename
}
__typename
}
__typename
}
}

With request headers:

  • User-Agent: Shopify CLI; v=3.86.1
  • Keep-Alive: timeout=30
  • Sec-CH-UA-PLATFORM: linux
  • Content-Type: application/json

to htxtps://destinations.shopifysvc.com/destinations/api/2020-07/graphql
2025-10-30T20:45:29.021Z: Request to htxtps://destinations.shopifysvc.com/destinations/api/2020-07/graphql completed in 243 ms
With response headers:

  • cache-control: max-age=0, private, must-revalidate
  • content-type: application/json; charset=utf-8
  • etag: W/“3d16c5b1d188f058d903d1c4caa89d26”
  • server-timing: processing;dur=85, socket_queue;dur=2.012, util;dur=0.0, cfRequestDuration;dur=169.999838
  • x-request-id: 34660e06-e620-4587-a052-c3785c0aaecd-1761857128

2025-10-30T20:45:29.031Z: Sending “Partners” GraphQL request:
query AllOrgs {
organizations(first: 200) {
nodes {
id
businessName
__typename
}
__typename
}
}

With request headers:

  • User-Agent: Shopify CLI; v=3.86.1
  • Keep-Alive: timeout=30
  • Sec-CH-UA-PLATFORM: linux
  • Content-Type: application/json

to htxtps://partners.shopify.com/api/cli/graphql
2025-10-30T20:45:29.185Z: Request to htxtps://partners.shopify.com/api/cli/graphql completed in 154 ms
With response headers:

  • cache-control: max-age=0, private, must-revalidate
  • content-type: application/json; charset=utf-8
  • etag: W/“3ae9a0303e752a7203fb4a23038e7354”
  • server-timing: processing;dur=60, socket_queue;dur=1.794, util;dur=0.0, cfRequestDuration;dur=105.999947
  • x-request-id: 92dc9bdf-f4af-40d8-9890-8baf17f0ac8b-1761857129

2025-10-30T20:45:29.189Z: Sending “BusinessPlatform” GraphQL request:
query FindOrganizations($organizationId: OrganizationID!) {
currentUserAccount {
organization(id: $organizationId) {
id
name
__typename
}
__typename
}
}

With variables:
{
“organizationId”: “Z2lkOi8vb3JnYW5pemF0aW9uL09yZ2FuaXphdGlvbi8xMjk2NjYzMzU=”
}

With request headers:

  • User-Agent: Shopify CLI; v=3.86.1
  • Keep-Alive: timeout=30
  • Sec-CH-UA-PLATFORM: linux
  • Content-Type: application/json

to htxtps://destinations.shopifysvc.com/destinations/api/2020-07/graphql
2025-10-30T20:45:29.193Z: Sending “App Management” GraphQL request:
query listApps($query: String) {
appsConnection(query: $query, first: 50) {
edges {
node {
id
key
activeRelease {
id
version {
name
__typename
}
__typename
}
__typename
}
__typename
}
pageInfo {
hasNextPage
__typename
}
__typename
}
}

With variables:
{
“query”: “”,
“organizationId”: “129666335”
}

With request headers:

  • User-Agent: Shopify CLI; v=3.86.1
  • Keep-Alive: timeout=30
  • Sec-CH-UA-PLATFORM: linux
  • Content-Type: application/json

to htxtps://app.shopify.com/app_management/unstable/graphql.json
2025-10-30T20:45:29.618Z: Request to htxtps://app.shopify.com/app_management/unstable/graphql.json completed in 425 ms
With response headers:

  • content-type: application/json; charset=utf-8
  • server-timing: processing;dur=316, verdict_flag_enabled;desc=“count=4”;dur=0.293, _y;desc=“dd6f1270-adc9-4448-a464-8783edba0424”, _s;desc=“ffd83e33-b085-4efb-b8d7-9ef19378e4e0”, cfRequestDuration;dur=406.000137
  • x-request-id: e32bef1a-77c1-4e4f-af52-c4818385aebf-1761857129

? Create this project as a new app on Shopify?
:check_mark: Yes, create it as a new app

? App name:
:check_mark: extensive-portfolio-app

╭─ info ───────────────────────────────────────────────────────────────────────────────────────╮
│ │
│ Initializing project with npm
│ Use the --package-manager flag to select a different package manager. │
│ │
╰──────────────────────────────────────────────────────────────────────────────────────────────╯

2025-10-30T20:45:58.272Z: Creating directory at /tmp/48b801f0c9db7d19c713f865e132e554/download…
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Downloading template from htxtps://github.com/Shopify/shopify-app-template-react-router#javascript …
2025-10-30T20:45:58.284Z: Git-cloning repository htxtps://github.com/Shopify/shopify-app-template-react-router#javascript into /tmp/48b801f0c9db7d19c713f865e132e554/download…
2025-10-30T20:45:58.291Z: Running system process:
· Command: git --version
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Downloading template from htxtps://github.com/Shopify/shopify-app-template-react-router#javascript …
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Parsing liquid …
2025-10-30T20:45:58.765Z: Checking if /tmp/48b801f0c9db7d19c713f865e132e554/download/.git/logs/refs/heads/javascript is a directory…
2025-10-30T20:45:58.766Z: Checking if /tmp/48b801f0c9db7d19c713f865e132e554/download/prisma/migrations/20240530213853_create_session_table/migration.sql is a directory…
2025-10-30T20:45:58.766Z: Checking if /tmp/48b801f0c9db7d19c713f865e132e554/download/app/routes/auth.login/route.jsx is a directory…

[removed some log to shorten post]

2025-10-30T20:45:58.772Z: Checking if /tmp/48b801f0c9db7d19c713f865e132e554/download/.eslintignore is a directory…
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Parsing liquid …
2025-10-30T20:45:58.790Z: Copying file from /tmp/48b801f0c9db7d19c713f865e132e554/download/.git/logs/refs/heads/javascript to /tmp/48b801f0c9db7d19c713f865e132e554/app/.git/logs/refs/heads/javascript…
2025-10-30T20:45:58.791Z: Copying file from /tmp/48b801f0c9db7d19c713f865e132e554/download/prisma/migrations/20240530213853_create_session_table/migration.sql to /tmp/48b801f0c9db7d19c713f865e132e554/app/prisma/migrations/20240530213853_create_session_table/migration.sql…
2025-10-30T20:45:58.792Z: Copying file from /tmp/48b801f0c9db7d19c713f865e132e554/download/app/routes/auth.login/route.jsx to /tmp/48b801f0c9db7d19c713f865e132e554/app/app/routes/auth.login/route.jsx…
2025-10-30T20:45:58.792Z: Copying file from /tmp/48b801f0c9db7d19c713f865e132e554/download/app/routes/auth.login/error.server.jsx to /tmp/48b801f0c9db7d19c713f865e132e554/app/app/routes/auth.login/error.server.jsx…
2025-10-30T20:45:58.792Z: Copying file from /tmp/48b801f0c9db7d19c713f865e132e554/download/app/routes/_index/styles.module.css to /tmp/48b801f0c9db7d19c713f865e132e554/app/app/routes/_index/styles.module.css…

[removed some log to shorten post]

2025-10-30T20:45:58.810Z: Copying file from /tmp/48b801f0c9db7d19c713f865e132e554/download/.eslintrc.cjs to /tmp/48b801f0c9db7d19c713f865e132e554/app/.eslintrc.cjs…
2025-10-30T20:45:58.810Z: Copying file from /tmp/48b801f0c9db7d19c713f865e132e554/download/.eslintignore to /tmp/48b801f0c9db7d19c713f865e132e554/app/.eslintignore…
2025-10-30T20:45:58.810Z: Copying file from /tmp/48b801f0c9db7d19c713f865e132e554/download/.editorconfig to /tmp/48b801f0c9db7d19c713f865e132e554/app/.editorconfig…
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Parsing liquid …
2025-10-30T20:45:58.834Z: Reading the content of file at /tmp/48b801f0c9db7d19c713f865e132e554/app/package.json…
2025-10-30T20:45:58.835Z: Obtaining user name…
2025-10-30T20:45:58.835Z: JSON-encoding and writing content to package.json at /tmp/48b801f0c9db7d19c713f865e132e554/app…
2025-10-30T20:45:58.835Z: Writing some content to file at /tmp/48b801f0c9db7d19c713f865e132e554/app/package.json…
2025-10-30T20:45:58.837Z: Reading the content of file at /tmp/48b801f0c9db7d19c713f865e132e554/app/.gitignore…
2025-10-30T20:45:58.838Z: Writing some content to file at /tmp/48b801f0c9db7d19c713f865e132e554/app/.gitignore…
2025-10-30T20:45:58.843Z: Running system process:
· Command: npm install

── external error ──────────────────────────────────────────────────────────────────────────────

Error coming from npm install

Command was killed with SIGKILL (Forced termination): npm install

────────────────────────────────────────────────────────────────────────────────────────────────

2025-10-30T20:46:04.352Z: Running system process:
· Command: npm prefix
· Working directory: /home/ec2-user/dev

2025-10-30T20:46:05.156Z: Obtaining the dependency manager in directory /home/ec2-user/dev…
2025-10-30T20:46:05.265Z: Request to htxtps://monorail-edge.shopifysvc.com/v1/produce completed in 91 ms
With response headers:

  • x-request-id: cbcbeeb8-f448-48c5-ae9d-711b8e693c0a

2025-10-30T20:46:05.265Z: Analytics event sent: {
“command”: “app init”,
“time_start”: 1761857111844,
“time_end”: 1761857164300,
“total_time”: 52456,
“success”: false,
“cli_version”: “3.86.1”,
“ruby_version”: “”,
“node_version”: “22.21.0”,
“is_employee”: false,
“uname”: “linux amd64”,
“env_ci”: false,
“env_plugin_installed_any_custom”: false,
“env_plugin_installed_shopify”: “["@shopify/cli"]”,
“env_shell”: “bash”,
“env_device_id”: “b2fe087164ca2255ef9c60468972f9a7dfb92ca2”,
“env_cloud”: “localhost”,
“env_package_manager”: “unknown”,
“env_is_global”: true,
“env_auth_method”: “device_auth”,
“env_is_wsl”: false,
“env_build_repository”: “Shopify/cli”,
“cmd_app_warning_api_key_deprecation_displayed”: false,
“cmd_all_timing_network_ms”: 6638,
“cmd_all_timing_prompts_ms”: 41557,
“cmd_all_launcher”: “unknown”,
“cmd_all_topic”: “app”,
“cmd_all_plugin”: “@shopify/app”,
“cmd_all_verbose”: true,
“cmd_all_path_override”: true,
“cmd_all_path_override_hash”: “316190c308fe2235c82bb57e0477ba37cabf0b37”,
“cmd_all_last_graphql_request_id”: “e32bef1a-77c1-4e4f-af52-c4818385aebf-1761857129”,
“cmd_create_app_template”: “reactRouter”,
“cmd_create_app_template_url”: “htxtps://github.com/Shopify/shopify-app-template-react-router#javascript”,
“cmd_all_timing_active_ms”: 4259,
“cmd_all_exit”: “expected_error”,
“user_id”: “6aec99b8-b78e-45fa-8e0e-cf9849474688”,
“request_ids”: [
“34660e06-e620-4587-a052-c3785c0aaecd-1761857128”,
“92dc9bdf-f4af-40d8-9890-8baf17f0ac8b-1761857129”,
“e32bef1a-77c1-4e4f-af52-c4818385aebf-1761857129”
],
“args”: “–verbose”,
“error_message”: “Command was killed with SIGKILL (Forced termination): npm install”,
“env_plugin_installed_all”: “["@shopify/cli"]”,
“metadata”: “{"extraPublic":{},"extraSensitive":{}}”
}
2025-10-30T20:46:05.275Z: Reporting handled error to Bugsnag: Command was killed with SIGKILL (Forced termination): npm install
2025-10-30T20:46:05.769Z: Running system process:
· Command: npm prefix
· Working directory: /home/ec2-user/dev

2025-10-30T20:46:05.897Z: Obtaining the dependency manager in directory /home/ec2-user/dev…
[ec2-user@ip-172-31-2-184 dev]$

Operating system

Amazon Linux

CLI version

3.86.1

Shell

bash

Nodejs version

v22.21.0

What language and version are you using in your application?

Node v22.21.0