{"record":{"id":"1066aa193274a3b7","repo":"plandex-ai/plandex","slug":"failed-to-fetch-content-from-url-s-v","errorCode":null,"errorMessage":"failed to fetch content from URL %s: %v","messagePattern":"failed to fetch content from URL (.+?): (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"app/cli/lib/context_load.go","lineNumber":571,"sourceCode":"\t\t}\n\t}\n\n\tif len(inputUrls) > 0 {\n\t\tfor _, u := range inputUrls {\n\t\t\tcomposite := strings.Join([]string{string(shared.ContextURLType), u}, \"|\")\n\t\t\tif existsByComposite[composite] != nil {\n\t\t\t\talreadyLoadedByComposite[composite] = existsByComposite[composite]\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tnumRoutines++\n\t\t\tgo func(u string) {\n\t\t\t\tsem <- struct{}{}\n\t\t\t\tdefer func() { <-sem }()\n\n\t\t\t\tbody, err := url.FetchURLContent(u)\n\t\t\t\tif err != nil {\n\t\t\t\t\terrCh <- fmt.Errorf(\"failed to fetch content from URL %s: %v\", u, err)\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tname := url.SanitizeURL(u)\n\t\t\t\t// show the first 20 characters, then ellipsis then the last 20 characters of 'name'\n\t\t\t\tif len(name) > 40 {\n\t\t\t\t\tname = name[:20] + \"⋯\" + name[len(name)-20:]\n\t\t\t\t}\n\n\t\t\t\t// Check the size of the URL body, just like a file:\n\t\t\t\tsize := int64(len(body))\n\n\t\t\t\tcontextMu.Lock()\n\t\t\t\tdefer contextMu.Unlock()\n\n\t\t\t\tif size > shared.MaxContextBodySize {\n\t\t\t\t\tfilesSkippedTooLarge = append(filesSkippedTooLarge, filePathWithSize{Path: u, Size: size})\n\t\t\t\t\terrCh <- nil","sourceCodeStart":553,"sourceCodeEnd":589,"githubUrl":"https://github.com/plandex-ai/plandex/blob/e2d772072efadbe41d2946d97d79be55532dbab5/app/cli/lib/context_load.go#L553-L589","documentation":"url.FetchURLContent fails while loading a user-supplied URL as context. Covers DNS failure, non-2xx responses, timeouts, TLS errors, or content extraction failure — the URL's body could not be retrieved.","triggerScenarios":"Thrown at app/cli/lib/context_load.go:571 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Open the URL in a browser to confirm it is reachable","Check for auth-gated or bot-blocked pages (401/403/429)","Retry with a direct raw-content URL or paste the content as a note instead"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e2d772072efadbe41d2946d97d79be55532dbab5","analyzedAt":"2026-09-05T20:56:53.631Z","contentChangedAt":"2026-09-05T20:56:53.631Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}