diff --git a/.github/workflows/update-ref-docs.yaml b/.github/workflows/update-ref-docs.yaml
index 3d020de2..23f3d72f 100644
--- a/.github/workflows/update-ref-docs.yaml
+++ b/.github/workflows/update-ref-docs.yaml
@@ -869,6 +869,12 @@ jobs:
sed -i 's/>/\>/g' "./out.md"
sed -i 's/__BR_TAG__/
/g' "./out.md"
+ # crd-ref-docs links the underlying type of a type whose Go definition
+ # is an anonymous struct (S3Object) to a heading that it never emits,
+ # so the link is dead in the page and the link checker reports it.
+ # Keep the type text and drop the link.
+ sed -i -E 's/\[(struct\{[^]]*\})\]\(#struct\{[^)]*\}\)/\1/g' "./out.md"
+
# crd-ref-docs's markdown renderer emits multiple consecutive blank
# lines around headings/descriptions. Collapse runs of 2+ blank
# lines to a single one so regenerating doesn't churn whitespace
diff --git a/docs-site/content/kagent/0.x/supported-providers/gemini.md b/docs-site/content/kagent/0.x/supported-providers/gemini.md
index 7198950b..f535509c 100644
--- a/docs-site/content/kagent/0.x/supported-providers/gemini.md
+++ b/docs-site/content/kagent/0.x/supported-providers/gemini.md
@@ -21,7 +21,7 @@ Make sure that your Google Cloud account has a project with the Gemini API enabl
kubectl create secret generic kagent-gemini -n kagent --from-literal GOOGLE_API_KEY=
```
-3. Create a `ModelConfig` resource using the `Gemini` provider. You can find the latest model names and capabilities on the [Gemini API docs](https://ai.google.dev/gemini-api/docs/models). Replace the `model` field with your chosen model name, such as `gemini-2.5-pro`.
+3. Create a `ModelConfig` resource using the `Gemini` provider. You can find the latest model names and capabilities on the [Gemini API docs](https://aistudio.google.com/docs/models). Replace the `model` field with your chosen model name, such as `gemini-2.5-pro`.
```yaml
apiVersion: kagent.dev/v1alpha2
diff --git a/docs-site/content/kagent/latest/reference/api-ref.md b/docs-site/content/kagent/latest/reference/api-ref.md
index 6f9c961f..7d3ec24c 100644
--- a/docs-site/content/kagent/latest/reference/api-ref.md
+++ b/docs-site/content/kagent/latest/reference/api-ref.md
@@ -1012,7 +1012,7 @@ _Appears in:_
#### S3Object
-_Underlying type:_ _[struct{Endpoint string "json:\"endpoint\""; Bucket string "json:\"bucket\""; Key string "json:\"key\""; VersionID string "json:\"versionId\""; Region string "json:\"region,omitempty\""}](#struct{endpoint-string-"json:\"endpoint\"";-bucket-string-"json:\"bucket\"";-key-string-"json:\"key\"";-versionid-string-"json:\"versionid\"";-region-string-"json:\"region,omitempty\""})_
+_Underlying type:_ _struct{Endpoint string "json:\"endpoint\""; Bucket string "json:\"bucket\""; Key string "json:\"key\""; VersionID string "json:\"versionId\""; Region string "json:\"region,omitempty\""}_
S3Object identifies one immutable S3 object version.
diff --git a/docs-site/content/kagent/latest/setup/model-providers/gemini.md b/docs-site/content/kagent/latest/setup/model-providers/gemini.md
index 7f122ddd..d35a3ea8 100644
--- a/docs-site/content/kagent/latest/setup/model-providers/gemini.md
+++ b/docs-site/content/kagent/latest/setup/model-providers/gemini.md
@@ -46,7 +46,7 @@ Make sure that your Google Cloud account has a project with the Gemini API enabl
| ----- | ----------- |
| `apiKeySecret` | The name of the Kubernetes Secret that stores the API key, in the same namespace as this ModelConfig. |
| `apiKeySecretKey` | The key within that Secret that holds the API key. |
- | `model` | The model to use. For the available models, see the [Gemini API docs](https://ai.google.dev/gemini-api/docs/models). |
+ | `model` | The model to use. For the available models, see the [Gemini API docs](https://aistudio.google.com/docs/models). |
| `provider` | The provider to use, `Gemini`. |
| `gemini` | Settings that only the Gemini provider takes. An empty block is valid. |
diff --git a/docs-site/content/kagent/main/reference/api-ref.md b/docs-site/content/kagent/main/reference/api-ref.md
index 6f9c961f..7d3ec24c 100644
--- a/docs-site/content/kagent/main/reference/api-ref.md
+++ b/docs-site/content/kagent/main/reference/api-ref.md
@@ -1012,7 +1012,7 @@ _Appears in:_
#### S3Object
-_Underlying type:_ _[struct{Endpoint string "json:\"endpoint\""; Bucket string "json:\"bucket\""; Key string "json:\"key\""; VersionID string "json:\"versionId\""; Region string "json:\"region,omitempty\""}](#struct{endpoint-string-"json:\"endpoint\"";-bucket-string-"json:\"bucket\"";-key-string-"json:\"key\"";-versionid-string-"json:\"versionid\"";-region-string-"json:\"region,omitempty\""})_
+_Underlying type:_ _struct{Endpoint string "json:\"endpoint\""; Bucket string "json:\"bucket\""; Key string "json:\"key\""; VersionID string "json:\"versionId\""; Region string "json:\"region,omitempty\""}_
S3Object identifies one immutable S3 object version.
diff --git a/docs-site/content/kagent/main/setup/model-providers/gemini.md b/docs-site/content/kagent/main/setup/model-providers/gemini.md
index 7f122ddd..d35a3ea8 100644
--- a/docs-site/content/kagent/main/setup/model-providers/gemini.md
+++ b/docs-site/content/kagent/main/setup/model-providers/gemini.md
@@ -46,7 +46,7 @@ Make sure that your Google Cloud account has a project with the Gemini API enabl
| ----- | ----------- |
| `apiKeySecret` | The name of the Kubernetes Secret that stores the API key, in the same namespace as this ModelConfig. |
| `apiKeySecretKey` | The key within that Secret that holds the API key. |
- | `model` | The model to use. For the available models, see the [Gemini API docs](https://ai.google.dev/gemini-api/docs/models). |
+ | `model` | The model to use. For the available models, see the [Gemini API docs](https://aistudio.google.com/docs/models). |
| `provider` | The provider to use, `Gemini`. |
| `gemini` | Settings that only the Gemini provider takes. An empty block is valid. |