Skip to content

Check Icon is missing when icon.clientBundle.scan: true and ssr: false is used for static build #4748

@Fan-iX

Description

@Fan-iX

Environment

  • Operating System: Linux
  • Node Version: v22.9.0
  • Nuxt Version: 4.0.3
  • CLI Version: 3.28.0
  • Nitro Version: 2.12.4
  • Package Manager: [email protected]
  • Builder: -
  • User Config: devtools, modules, ssr, css, icon, compatibilityDate
  • Runtime Modules: @nuxt/[email protected], @nuxt/[email protected]
  • Build Modules: -

Version

v3.3.0

Reproduction

  1. npm create nuxt@latest -- -t ui
  2. add ssr: false and icon: {provider: 'none', clientBundle: { scan: true } in nuxt.config.ts
  3. add a simple <UCheckbox /> in index.vue
  4. run npm run generate
  5. serve .output/public with apache2
nuxt.config.ts and app/pages/index.vue
export default defineNuxtConfig({
  devtools: { enabled: true },

  modules: [
    '@nuxt/ui',
    '@nuxt/eslint'
  ],

  ssr: false,
  css: ['~/assets/css/main.css'],
  icon: {
    provider: 'none',
    clientBundle: {
      scan: true,
    }
  },

  compatibilityDate: '2025-07-16'
})
<script setup>
const value=ref(true)
</script>
<template>
    <UCheckbox v-model="value" />
</template>

Description

The default icon for UCheckbox will not be bundled for client when SSR is disabled.

The check icon is missing:

Image

and a warning message is shown in the console:

Warning

[Icon] failed to load icon `lucide:check`

fyi, the icon will show if

  • provider: 'server' and ssr: true is set
  • provider: 'iconify' is set and https://api.iconify.design/ is reachable
  • Or, the icon is explitly specified: <UCheckbox v-model="value" icon="i-lucide-check" />

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions