Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

stack: auth email templates with content_path are refused, so a project with custom templates cannot start on the experimental stack

Aperta
#7,200 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
54/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
cli

Direzione di ricerca

Start with apps/cli/src/command-internal/stack-config.ts around the configValidationError check cited in the issue, then read the closed issue #6803 for the earlier template-serving approach. Trace how the legacy stack serves files through Kong and how each experimental Auth launch is configured. Done means content_path templates are served on both experimental runtimes, or the stack starts with built-in templates and warns as requested.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

🐛 Bug supabase/cli
Affected area

Local development

Supabase CLI version

2.121.0

Operating system

macOS 27.0.1 (Apple silicon)

Installation method

npm

Command
SUPABASE_EXPERIMENTAL_STACK=1 supabase start --runtime native
Actual output
$ SUPABASE_EXPERIMENTAL_STACK=1 supabase start --runtime native
{"_tag":"Error","error":{"code":"ExperimentalStackStartError","message":"auth.email.template.confirmation.content_path requires template serving, which is not supported by the experimental stack"}}

$ SUPABASE_EXPERIMENTAL_STACK=1 supabase start --runtime docker
{"_tag":"Error","error":{"code":"ExperimentalStackStartError","message":"auth.email.template.confirmation.content_path requires template serving, which is not supported by the experimental stack"}}

# with [auth.email.notification.password_changed] content_path set instead
$ SUPABASE_EXPERIMENTAL_STACK=1 supabase start --runtime native
{"_tag":"Error","error":{"code":"ExperimentalStackStartError","message":"auth.email.notification.password_changed.content_path requires template serving, which is not supported by the experimental stack"}}
Expected behavior

Auth templates set with content_path are served on the experimental stack as they are on the legacy stack.

Until that lands, it would help if the stack started with Auth's built-in templates and printed a warning, instead of refusing to start. CI and agent sandboxes that never send real email don't need the custom HTML. Today the only way through is to strip the config.

Steps to reproduce
  1. mkdir repro && cd repro && supabase init
  2. mkdir -p supabase/templates && echo '<p>{{ .ConfirmationURL }}</p>' > supabase/templates/confirmation.html
  3. Add to supabase/config.toml:
    [auth.email.template.confirmation]
    subject = "Confirm"
    content_path = "./supabase/templates/confirmation.html"
    
  4. SUPABASE_EXPERIMENTAL_STACK=1 supabase start --runtime native fails with the error above. --runtime docker fails the same way.
  5. Without the content_path line, the same command starts. SUPABASE_EXPERIMENTAL_STACK=0 supabase start starts with it in place.
Crash report ID

No response

Docker and service versions
Docker: Client 29.8.2, Server 29.8.2 (linux/arm64)

supabase/postgres       17.11.0.004
supabase/gotrue         v2.197.0
postgrest/postgrest     v16.4
supabase/realtime       v2.143.4
supabase/storage-api    v1.82.1
supabase/edge-runtime   v1.77.4
supabase/studio         2026.10.12-sha-3699278
supabase/postgres-meta  v0.100.0
supabase/logflare       1.53.0
supabase/supavisor      2.9.13
Additional context

The legacy stack (SUPABASE_EXPERIMENTAL_STACK=0) starts the same project. It serves the file through Kong: Auth gets GOTRUE_MAILER_TEMPLATES_CONFIRMATION=http://supabase_kong_<project>:8088/email/confirmation.html, and fetching that URL from the Auth container returns the template.

Our project sets content_path for all five auth templates (confirmation, recovery, invite, magic_link, email_change), so it cannot start on the experimental stack at all. Our workaround: CI deletes every content_path = line from a throwaway checkout before starting the native runtime. Local development stays on the legacy Docker stack because of this.

In the v2.121.0 tag (97531eb590ccd2c5cf215287ae03e877180810b4), apps/cli/src/command-internal/stack-config.ts:872-877 returns this error from configValidationError whenever Auth is enabled. The same check is on develop and next.

#6803 added template serving through a listener scoped to each Auth launch. It was closed on 2026-09-30 while the approach is reworked. I couldn't find an issue tracking the gap, so this is that issue.

I investigated this with help from an AI coding assistant (Claude Code), which also drafted this text. The results above come from real runs.

Lingua principale
TypeScript
Stelle
2.4k
Fork
537
Merge medio
20h 14m
PR unite (30g)
412

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di supabase/cli

Tutte le issue di supabase/cli

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.