github/github-mcp-server · error

project item ID %q is not an integer: %w

Error message

project item ID %q is not an integer: %w

What it means

Error "project item ID %q is not an integer: %w" thrown in github/github-mcp-server.

Source

Thrown at pkg/github/projects_resolver.go:537

	}

	vars := map[string]any{
		"issueOwner":  githubv4.String(issueOwner),
		"issueRepo":   githubv4.String(issueRepo),
		"issueNumber": githubv4.Int(int32(issueNumber)), //nolint:gosec // Issue numbers are small
	}

	if err := gqlClient.Query(ctx, &firstPageQuery, vars); err != nil {
		return "", 0, fmt.Errorf("failed to resolve project item for %s/%s#%d: %w", issueOwner, issueRepo, issueNumber, err)
	}

	projectItems := firstPageQuery.Repository.Issue.ProjectItems
	for {
		for _, item := range projectItems.Nodes {
			if item.Project.ID == projectID {
				parsedItemID, parseErr := parseInt64(string(item.FullDatabaseID))
				if parseErr != nil {
					return "", 0, fmt.Errorf("project item ID %q is not an integer: %w", string(item.FullDatabaseID), parseErr)
				}
				return fmt.Sprintf("%v", item.ID), parsedItemID, nil
			}
		}

		if !projectItems.PageInfo.HasNextPage {
			break
		}

		var nextPageQuery struct {
			Repository struct {
				Issue struct {
					ProjectItems projectItemsConnection `graphql:"projectItems(first: 50, after: $after, includeArchived: true)"`
				} `graphql:"issue(number: $issueNumber)"`
			} `graphql:"repository(owner: $issueOwner, name: $issueRepo)"`
		}
		vars["after"] = projectItems.PageInfo.EndCursor
		if err := gqlClient.Query(ctx, &nextPageQuery, vars); err != nil {

View on GitHub (pinned to 0ea1f775a7)

When it happens

Trigger: Thrown at pkg/github/projects_resolver.go:537 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of github/github-mcp-server@0ea1f775a7 (2026-08-15). Data as JSON: /api/errors/40c43338638fd92d. Report an issue: GitHub.