---
name: Pkg.go.dev package removal request
about: Request a package be removed from the documentation site (pkg.go.dev)
title: "x/pkgsite: package removal request for [type path here]"
labels: pkgsite
---

<!--
Please answer these questions before submitting your issue. Thanks!
-->

### What is the path of the package that you would like to have removed?

<!---
We can remove packages with a shared path prefix.
For example, a request for "github.com/author" would remove all pkg.go.dev pages with that package path prefix.
--->



### Are you the owner of this package?

<!---
Only the package owners can request to have their packages removed from pkg.go.dev.
--->



### What is the reason that you could not retract this package instead?

<!---
If you would like to have your module removed from pkg.go.dev, we recommend that you retract them, so that they can be removed from the go command and proxy.golang.org as well.

Retracting a module version involves adding a retract directive to your go.mod file and publishing a new version. For example: https://github.com/jba/retract-demo/blob/main/go.mod#L5-L8

See https://pkg.go.dev/about#removing-a-package for additional tips on retractions.
--->


