diff --git a/.changeset/neat-buttons-guess.md b/.changeset/neat-buttons-guess.md
new file mode 100644
index 000000000..64098a927
--- /dev/null
+++ b/.changeset/neat-buttons-guess.md
@@ -0,0 +1,5 @@
+---
+'@astrojs/vue': patch
+---
+
+`@astrojs/vue` integration supports custom vue compiler options
diff --git a/packages/astro/test/fixtures/vue-component/astro.config.mjs b/packages/astro/test/fixtures/vue-component/astro.config.mjs
index 8a3a38574..0e870b2b4 100644
--- a/packages/astro/test/fixtures/vue-component/astro.config.mjs
+++ b/packages/astro/test/fixtures/vue-component/astro.config.mjs
@@ -3,5 +3,11 @@ import vue from '@astrojs/vue';
// https://astro.build/config
export default defineConfig({
- integrations: [vue()],
+ integrations: [vue({
+ template: {
+ compilerOptions: {
+ isCustomElement: tag => tag.includes('my-button')
+ }
+ }
+ })],
});
\ No newline at end of file
diff --git a/packages/astro/test/fixtures/vue-component/src/components/Result.vue b/packages/astro/test/fixtures/vue-component/src/components/Result.vue
index 7795d5ae0..90bf218b2 100644
--- a/packages/astro/test/fixtures/vue-component/src/components/Result.vue
+++ b/packages/astro/test/fixtures/vue-component/src/components/Result.vue
@@ -1,5 +1,6 @@
{{ value }}
+ Click Me