diff --git a/pkg/cmd/discussion/client/client_impl.go b/pkg/cmd/discussion/client/client_impl.go index 761913d2a..60c02c8d5 100644 --- a/pkg/cmd/discussion/client/client_impl.go +++ b/pkg/cmd/discussion/client/client_impl.go @@ -414,7 +414,8 @@ func (c *discussionClient) GetWithComments(_ ghrepo.Interface, _ int, _ int, _ s func (c *discussionClient) ListCategories(repo ghrepo.Interface) ([]DiscussionCategory, error) { var query struct { Repository struct { - DiscussionCategories struct { + HasDiscussionsEnabled bool + DiscussionCategories struct { Nodes []struct { ID string Name string @@ -435,6 +436,10 @@ func (c *discussionClient) ListCategories(repo ghrepo.Interface) ([]DiscussionCa return nil, err } + if !query.Repository.HasDiscussionsEnabled { + return nil, fmt.Errorf("the '%s/%s' repository has discussions disabled", repo.RepoOwner(), repo.RepoName()) + } + categories := make([]DiscussionCategory, len(query.Repository.DiscussionCategories.Nodes)) for i, n := range query.Repository.DiscussionCategories.Nodes { categories[i] = DiscussionCategory{