Skip to content

astro:actions throws ActionsWithoutServerOutputError when all pages are prerendered, even with output: "server" and an adapter configured #16256

@alexanderniebuhr

Description

@alexanderniebuhr

Astro Info

Astro                    v6.0.8
Node                     v25.8.1
System                   macOS (arm64)
Package Manager          pnpm
Output                   server
Adapter                  @astrojs/cloudflare
Integrations             none

If this issue only occurs in one browser, which browser is a problem?

No response

Describe the Bug

Using astro:actions causes Astro to fail at startup with ActionsWithoutServerOutputError when the project has an adapter configured and output: "server", but all pages are marked with export const prerender = true.

The error goes away as soon as at least one page is changed to export const prerender = false, which suggests the actions check may not be taking the configured server output into account unless there is at least one explicitly non-prerendered route.

This seems incorrect because the project is already in server mode and has a valid adapter, so actions should be allowed without requiring an unrelated non-prerendered page.

This only appears when all pages are export const prerender = true.
Adding a single page with export const prerender = false makes the error disappear.
This may mean actions are not being considered when Astro decides whether to create the server bundle.

What's the expected result?

If a project has a server adapter configured and output: "server" enabled, astro:actions should work even when all existing pages are prerendered.

Astro should treat the use of actions as a server feature and generate the necessary SSR/server bundle automatically, without requiring at least one page with export const prerender = false.

Link to Minimal Reproducible Example

https://github.com/alexanderniebuhr/astro-v6-repro/tree/actions-server

Participation

  • I am willing to submit a pull request for this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    - P2: has workaroundAn edge case that only affects very specific usage, but has a trivial workaround (priority)pkg: astroRelated to the core `astro` package (scope)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions