> ## Documentation Index
> Fetch the complete documentation index at: https://code.storage/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# listTags()

> List all tags in the repository with pagination support.

<CodeGroup>
  ```typescript TypeScript theme={null} theme={"theme":{"light":"github-light","dark":"min-dark"}}
  // List all tags
  const tags = await repo.listTags();
  console.log(tags.tags); // Array of tag info

  // With pagination
  const page = await repo.listTags({
    limit: 10,
    cursor: tags.nextCursor,
  });
  ```

  ```python Python theme={null} theme={"theme":{"light":"github-light","dark":"min-dark"}}
  tags = await repo.list_tags(limit=10)
  print(tags["tags"])

  # Use pagination cursor for the next page
  next_page = await repo.list_tags(
      limit=10,
      cursor=tags.get("next_cursor"),
  )
  ```

  ```go Go theme={null} theme={"theme":{"light":"github-light","dark":"min-dark"}}
  // List tags with pagination
  tags, err := repo.ListTags(context.Background(), storage.ListTagsOptions{Limit: 10})
  fmt.Println(tags.Tags)

  nextPage, err := repo.ListTags(context.Background(), storage.ListTagsOptions{
  	Limit:  10,
  	Cursor: tags.NextCursor,
  })
  ```
</CodeGroup>

## Options

<ParamField path="limit" type="number">
  Maximum tags per page
</ParamField>

<ParamField path="cursor" type="string">
  Pagination cursor from a previous response
</ParamField>

## Response

<ResponseField name="tags" type="array">
  List of tag info objects, each containing `name`, `sha`, and `cursor`
</ResponseField>

<ResponseField name="nextCursor" type="string">
  Cursor for the next page (absent when no more results)
</ResponseField>

<ResponseField name="hasMore" type="boolean">
  Whether additional pages of results are available
</ResponseField>
