You can now control how search results are ranked and filtered for sites with multiple products or versions using the new settings.search object in docs.yml.
prioritize-current-product boosts results from the current product higher in the ranking without hiding other products.default-filter-by-current-product auto-selects the current product as a facet filter so only current-product results appear by default.These options can be used independently or together.
Interactive API components now render as fenced code blocks and structured content in your site’s Markdown output. AI agents consuming your docs via .md URLs, llms.txt, or llms-full.txt receive the full request and response examples without parsing HTML, reducing content disparity between the rendered page and its Markdown representation.
This applies to the following components:
<EndpointRequestSnippet><EndpointResponseSnippet><EndpointSchemaSnippet><RunnableEndpoint><WebhookPayloadSnippet><Schema><SchemaSnippet>You can now check for broken links on your live documentation site directly from the Fern CLI with fern docs link check. The command scrapes every page on your published site, checks all internal and external links, and reports broken (404) and blocked (403) URLs along with the source pages where they appear.
This complements the existing broken-links rule in fern check, which validates internal links against your local YAML navigation tree. Use fern docs link check after publishing to catch live 404s and broken external URLs that local validation can’t detect.
You can now serve your own robots.txt at the root of your documentation site by pointing agents.robots-txt at a file in your repo. Use this to opt in or out of specific AI crawlers like GPTBot or ClaudeBot, gate sensitive sections from indexing, or signal training and search preferences with the Cloudflare Content Signals Policy. Your file is served verbatim at /robots.txt, and Fern appends a managed block disallowing internal API routes after your content.
Multi-source docs lets each team publish independently to a shared custom domain — for example, docs.nvidia.com spans sub-paths like /nvcf, /brev, and /aiperf, each owned by a different product team and repository.
Set multi-source: true on the instance and reference a global theme for consistent branding across repositories.
AI agents, MCP clients, and API catalog crawlers can now discover your APIs automatically. Every Fern Docs site exposes a standards-based (RFC 9727) /.well-known/api-catalog endpoint generated from your visible API Reference navigation.
You can now point <Prompt> actions at any AI tool, not just Cursor, Claude, and ChatGPT. Send readers to Perplexity, your own internal AI assistant, or any other URL.
Generate a TypeScript SDK from my OpenAPI spec. Follow the [TypeScript SDK quickstart](https://buildwithfern.com/learn/sdks/generators/typescript/quickstart.md).The <Prompt> component displays an AI prompt card with a title, icon, copy button, and optional “Open in” action buttons. Add it to any page so readers can copy instructions or open them directly in Cursor, Claude, or ChatGPT.
Use it in tutorials, quickstarts, migration guides, or any page where you want readers to hand off a task to an AI assistant — for example, scaffolding a project, generating an SDK, or applying a code change.
You are a **docs setup assistant**. Help the user create and publish a new docs site.
Follow the [Quickstart guide](https://buildwithfern.com/learn/docs/getting-started/quickstart) step by step.Define your documentation branding in a single control repository and share it across multiple sites. Use the fern docs theme CLI commands to export, upload, and manage themes, then reference a theme by name in any child repository’s docs.yml with the global-theme property.
Fern Docs sites with Ask Fern enabled now display a “Connect to Claude Code” button alongside existing page actions. Clicking the button copies a claude mcp add command. Readers can paste it into their terminal to register your site’s MCP server with Claude Code.
The action is enabled by default and can be toggled off with page-actions.options.claude-code: false in docs.yml.
The GitHub Actions preview workflow now has an optional companion cleanup-preview.yml workflow that deletes a pull request’s preview deployment once the PR merges, so stale previews don’t linger.
To adopt this workflow, add .github/workflows/cleanup-preview.yml alongside your existing preview workflow.
The updated GitLab CI/CD pipeline now includes a cleanup_preview stage that deletes a merge request’s preview deployment once the MR merges into the default branch, so stale previews don’t linger.
To adopt this workflow, replace your .gitlab-ci.yml file with the updated version.