diff --git a/.planning/quick/260329-u4z-deutsche-umlaute-in-ui-texten-und-claude/260329-u4z-PLAN.md b/.planning/quick/260329-u4z-deutsche-umlaute-in-ui-texten-und-claude/260329-u4z-PLAN.md
new file mode 100644
index 0000000..ed879f7
--- /dev/null
+++ b/.planning/quick/260329-u4z-deutsche-umlaute-in-ui-texten-und-claude/260329-u4z-PLAN.md
@@ -0,0 +1,126 @@
+---
+phase: quick
+plan: 260329-u4z
+type: execute
+wave: 1
+depends_on: []
+files_modified:
+ - index.html
+ - src/ui/screens.ts
+ - src/companion/fallbacks.ts
+ - src/app.ts
+ - CLAUDE.md
+autonomous: true
+---
+
+
+Replace ae/oe/ue transliterations with proper German umlauts in all user-visible UI strings, and document the convention in CLAUDE.md.
+
+Purpose: A 7-year-old child should see correct German text, not ASCII transliterations.
+Output: All hardcoded UI strings use proper umlauts; CLAUDE.md convention documented.
+
+
+
+@CLAUDE.md
+@index.html
+@src/ui/screens.ts
+@src/companion/fallbacks.ts
+@src/app.ts
+
+
+
+
+
+ Task 1: Replace ae/oe/ue transliterations with proper umlauts in all UI-visible strings
+ index.html, src/ui/screens.ts, src/companion/fallbacks.ts, src/app.ts
+
+Replace the following transliterations with proper German umlauts in user-visible hardcoded strings only. Do NOT modify code identifiers, variable names, or any strings sent as API parameters.
+
+**index.html** (line 34, 134, 138):
+- "Waehle" -> "Wähle"
+- "uebe" -> "übe"
+- "Uebung" -> "Übung"
+- "waechst" -> "wächst"
+- "Naechstes" -> "Nächstes"
+- "Uebungstage" -> "Übungstage"
+- "Haeufigste" -> "Häufigste"
+
+**src/ui/screens.ts** (lines 111, 114, 164, 165, 369):
+- "Naechstes" -> "Nächstes"
+- "schoener" -> "schöner"
+- "ueben" -> "üben"
+- "Druecke" -> "Drücke"
+- "herunterfaellt" -> "herunterfällt"
+- "Woerter" -> "Wörter"
+- "grosse" -> "große"
+- "drueckst" -> "drückst"
+
+**src/companion/fallbacks.ts** (lines 29, 59, 72, 73, 75, 76, 90, 100, 133):
+- "Frueh" -> "Früh"
+- "schoensten" -> "schönsten"
+- "Schoen" -> "Schön"
+- "Gluehwuermchen" -> "Glühwürmchen"
+- "waechst" -> "wächst"
+- "naechstes" -> "nächstes"
+- "Baeumen" -> "Bäumen"
+- "Stueck" -> "Stück"
+- "schoen" -> "schön"
+- "veraendert" -> "verändert"
+- "Spuerst" -> "Spürst"
+- "Huegel" -> "Hügel"
+- "grosse" -> "große"
+- "drueckst" -> "drückst"
+- "druecken" -> "drücken"
+- "Oe" -> "Ö" (in the text "Das Oe mit den zwei Punkten")
+
+**src/app.ts** (comments only, lines 115, 121):
+- "ueben" -> "üben" (in comment)
+- "Zurueck" -> "Zurück" (in comment)
+
+These are ALL user-visible strings. Do not touch the Gemini API prompt strings in companion.ts (those already use proper umlauts).
+
+
+ cd /home/dev/workspace/zauberwald && grep -rn "uebe\|Ueb\|waechst\|Naechst\|naechst\|drueck\|Drueck\|faellt\|Woerter\|schoen\|Schoen\|grosse\|Grosse\|Stueck\|Baeumen\|veraendert\|Spuerst\|Huegel\|Gluehwuerm\|Waehle\|Haeufigste\|Frueh" --include="*.html" --include="*.ts" src/ index.html | grep -v node_modules | grep -v ".planning" ; echo "EXIT:$?"
+
+ Zero matches from grep -- all ae/oe/ue transliterations in UI strings replaced with proper German umlauts. The app displays correct German text to the child.
+
+
+
+ Task 2: Document umlaut convention in CLAUDE.md
+ CLAUDE.md
+
+In CLAUDE.md, replace the "## Conventions" section content (between the GSD markers) with actual convention text. Keep the GSD comment markers intact. Replace:
+
+```
+Conventions not yet established. Will populate as patterns emerge during development.
+```
+
+With:
+
+```
+- Immer deutsche Umlaute (ä, ö, ü, Ä, Ö, Ü, ß) in UI-Texten verwenden, niemals ae/oe/ue Transliterierung.
+```
+
+
+ cd /home/dev/workspace/zauberwald && grep -c "Immer deutsche Umlaute" CLAUDE.md
+
+ CLAUDE.md Conventions section contains the umlaut convention rule. Future code generation will follow this convention.
+
+
+
+
+
+1. `grep` for transliteration patterns returns zero matches in .ts and .html files
+2. CLAUDE.md contains the new convention
+3. `npx vite build` completes without errors (no broken strings)
+
+
+
+- All user-visible German text uses proper umlauts
+- CLAUDE.md documents the convention for future work
+- Build passes
+
+
+