Tool reference
list_labels
Discover exact label names before adding a search filter.
Discover exact label names before adding a search filter. Every call targets one authorized repository and leaves its issues unchanged.
Parameters
Name | Type / required | Behavior |
|---|---|---|
repo | string · required | Nonempty owner/repository. |
limit | integer · optional | Default 20; minimum 1, maximum 50. |
Example call
list_labels({
"repo": "acme/sdk",
"limit": 50
})Example response
{
"repo": "acme/sdk",
"labels": [
{
"name": "bug",
"description": "Unexpected behavior."
},
{
"name": "documentation",
"description": "Documentation corrections and additions."
},
{
"name": "enhancement",
"description": "Changes to existing behavior or new capabilities."
}
],
"returned_count": 3,
"truncated": false
}Limits and edge cases
Copy the returned name exactly when using search_issues.label. Do not infer a label from the issue title: an issue about a bug may not carry the bug label. Labels belong to one repository and may differ between projects.
An empty list is valid when the repository has no labels. The fixture orders names alphabetically. returned_count is the number of labels included, not the number of labeled issues.
When truncated is true, additional labels exist but no cursor or next-page mechanism is defined. Raising limit works only up to 50. The operator must document a continuation strategy for larger real catalogs.
Errors and recovery
AUTH_REQUIRED means the credential is missing or no longer valid. ACCESS_DENIED means it cannot read the repository. INVALID_ARGUMENT means an input violates this schema. RATE_LIMITED and UPSTREAM_UNAVAILABLE need an upstream recovery step, not a broader permission grant.