{"record":{"id":"e5875190f10bae78","repo":"gatsbyjs/gatsby","slug":"11611","errorCode":"11611","errorMessage":"11611","messagePattern":"11611","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby-cli/src/init-starter.ts","lineNumber":305,"sourceCode":"    )\n    opn(`https://gatsby.dev/starters?v=2`)\n    return\n  }\n  if (urlObject.protocol && urlObject.host) {\n    const isStarterAUrl =\n      starter && !url.parse(starter).hostname && !url.parse(starter).protocol\n\n    if (/gatsby-starter/gi.test(rootPath) && isStarterAUrl) {\n      report.panic({\n        id: `11610`,\n        context: {\n          starter,\n          rootPath,\n        },\n      })\n      return\n    }\n    report.panic({\n      id: `11611`,\n      context: {\n        rootPath,\n      },\n    })\n    return\n  }\n\n  if (!isValid(rootPath)) {\n    report.panic({\n      id: `11612`,\n      context: {\n        path: sysPath.resolve(rootPath),\n      },\n    })\n    return\n  }\n","sourceCodeStart":287,"sourceCodeEnd":323,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/8b06340921ffdf23125a365b9c9923690cb62ce6/packages/gatsby-cli/src/init-starter.ts#L287-L323","documentation":"Structured error 11611 from `gatsby new`. Fires when `rootPath` parses as a URL (has protocol and host) but does not match the 11610 swapped-args pattern. The project name slot contains a URL, which is not a valid local directory, so scaffolding refuses to proceed.","triggerScenarios":"The first positional argument to `gatsby new` is a URL or URL-like string (e.g. `gatsby new https://example.com`). Since a URL cannot be a filesystem directory, `initStarter` panics.","commonSituations":"Passing a URL as the project name; misunderstanding the `gatsby new` argument order; copy-paste error where the starter URL goes into the root slot.","solutions":["Provide a valid local directory name as the first argument: `gatsby new my-site`.","If you intended to clone a starter, put its URL second: `gatsby new my-site <starter-url>`.","Remove any `https://` prefix from the project name."],"exampleFix":"# before\ngatsby new https://example.com\n\n# after\ngatsby new my-site","handlingStrategy":"validation","validationCode":"const url = require('url')\nfunction isValidRoot(p) { return !url.parse(p).protocol }","typeGuard":"const isNonUrlPath = (v: unknown): v is string => typeof v === 'string' && !/:\\/\\//.test(v)","tryCatchPattern":null,"preventionTips":["Pass a plain directory name as the first argument to `gatsby new`.","Reserve URLs for the optional second (starter) argument.","Strip `https://` from project names."],"tags":["cli","gatsby-new","arguments","path-validation"],"backgroundTag":null,"analyzedSha":"8b06340921ffdf23125a365b9c9923690cb62ce6","analyzedAt":"2026-08-13T02:36:21.405Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}