cli/cli · error
invalid URL: %q
Error message
invalid URL: %q
What it means
Error "invalid URL: %q" thrown in cli/cli.
Source
Thrown at pkg/cmd/pr/shared/finder.go:308
err := api.ProjectsV2ItemsForPullRequest(apiClient, f.baseRefRepo, pr)
if err != nil && !api.ProjectsV2IgnorableError(err) {
return err
}
return nil
})
}
return pr, f.baseRefRepo, g.Wait()
}
var pullURLRE = regexp.MustCompile(`^/([^/]+)/([^/]+)/pull/(\d+)(.*$)`)
// ParseURL parses a pull request URL and returns the repository, pull request
// number, and any tailing path components. If there is no error, the returned
// repo is not nil and will have non-empty hostname.
func ParseURL(prURL string) (ghrepo.Interface, int, string, error) {
if prURL == "" {
return nil, 0, "", fmt.Errorf("invalid URL: %q", prURL)
}
u, err := url.Parse(prURL)
if err != nil {
return nil, 0, "", err
}
if u.Scheme != "https" && u.Scheme != "http" {
return nil, 0, "", fmt.Errorf("invalid scheme: %s", u.Scheme)
}
m := pullURLRE.FindStringSubmatch(u.Path)
if m == nil {
return nil, 0, "", fmt.Errorf("not a pull request URL: %s", prURL)
}
repo := ghrepo.NewWithHost(m[1], m[2], u.Hostname())
prNumber, _ := strconv.Atoi(m[3])View on GitHub (pinned to 0eeec0b92e)
Solutions
- Pass a valid pull request URL, or use a PR number or branch name instead.
When it happens
Trigger: Thrown at pkg/cmd/pr/shared/finder.go:308 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of cli/cli@0eeec0b92e (2026-08-15).
Data as JSON: /api/errors/c96c55977af9f796.
Report an issue: GitHub.