Zod's .url().optional() still rejects "" because the empty string is a present value. EMBEDDER_URL is unused in Phase 1 and intentionally left blank in .env, so preprocess "" to undefined before validation. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>