Diagnosing Astro Client-Directive Hydration Failures
An Astro island with a client directive renders but never becomes interactive. Use DevTools, the console, and build comparisons to find and fix the cause.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
An Astro island with a client directive renders but never becomes interactive. Use DevTools, the console, and build comparisons to find and fix the cause.
Use Astro client directives to hydrate interactive islands only when users need them, keeping the rest of the page static.
Use Astro client directives to load framework components only when needed, keeping pages zero-JS until interactivity is required.
Astro’s Islands architecture lets you keep pages static and hydrate individual components with client directives. Learn how client:load, client:visible, and client:only work, with a practical example and common pitfalls.
Astro islands can render markup but stay static if the client directive is missing, the renderer isn’t registered, or a runtime error aborts hydration. This guide walks through the condition, common causes, ordered checks, fixes, and escalation steps to get your component interactive again.
Astro's Islands Architecture allows for granular control over hydration using client:* directives. When implementing complex UI patterns, it is possible to nest components that each carry their own hydration strategy, such as a client:visible component wrapped within a client:load parent. There is uncertainty regarding the execution order and dependency reso
Hydration sequencing for parent and child islands Astro's Islands Architecture allows each component to declare its own hydration strategy via client:load , client:visible , client:idle , or client:only . When a parent island uses one directive and a nested child island uses a different directive, the framework must decide which component hydrates first and