Bolt.new error 500: qué significa y cómo arreglarlo
El error 500 en Bolt.new (también como “internal server error”, “application error” o “an unexpected status code 500”) significa que un servidor falló al responder. Puede ser Bolt mismo, el servidor de tu app corriendo dentro de la vista previa o un servicio externo que tu app llama (Supabase, Stripe, OpenAI). La clave es encontrar qué servidor respondió 500; el texto exacto está en la terminal de Bolt o en la consola del navegador.
Paso 1: ¿es Bolt o es tu app?
| Dónde aparece | Qué es |
|---|---|
| Al mandar un mensaje al chat de Bolt o al abrir el proyecto | Falla de Bolt |
| Al importar un repositorio de GitHub | Falla de Bolt al cargar el repo |
| En la vista previa, al usar tu app | Tu app (su servidor o una API externa) |
| En tu app ya publicada (Netlify, Vercel o el hosting de Bolt) | El backend de tu app en producción |
Caso 1: el error es de Bolt
- Revisa status.bolt.new. Si hay incidente, espera.
- Recarga la página con Ctrl + Shift + R.
- Usa Chrome u otro navegador basado en Chromium. Bolt corre tu proyecto dentro del navegador (con una tecnología llamada WebContainers), y su guía de soporte recomienda desactivar extensiones como bloqueadores de anuncios y apagar la VPN.
- Prueba en una ventana de incógnito (sin extensiones).
- Si el 500 sale al importar un repositorio, confirma que el repo no está vacío, que tiene rama por defecto y que tienes permisos de push. Ver error while syncing with GitHub.
Caso 2: el error es de tu app en la vista previa
Lee el error real
- Terminal de Bolt: abajo del editor. Si la app tiene servidor (Node, Express, Next.js), ahí aparece la traza del error. Busca la primera línea con
Error. - Consola del navegador de la vista previa: clic derecho → Inspeccionar → Console y Network. En Network, la fila en rojo con
500te dice qué URL falló.
Causas frecuentes
- Variable de entorno faltante. La app intenta conectarse a Supabase u OpenAI con una llave vacía. Revisa tu archivo
.env; te explicamos qué es .env. - Error de código en el servidor. Por ejemplo
TypeError: Cannot read properties of undefined (reading 'id'): el código espera un dato que no llegó. - API externa caída o con llave inválida. Supabase, Stripe u OpenAI respondieron error y tu servidor lo convirtió en 500.
- Dependencias rotas. Después de que la IA agregó paquetes, algo no instaló bien. En la terminal:
rm -rf node_modules package-lock.json
npm install
npm run dev
Pídele a Bolt el arreglo con contexto
Al dar clic en "Guardar pedido" la app responde 500.
Este es el error de la terminal:
[pega el error completo]
Explícame la causa antes de cambiar código y modifica solo lo necesario.
Caso 3: tu app publicada da 500
Si en la vista previa funciona pero publicada falla:
- Variables de entorno en el hosting. Netlify y Vercel no leen tu
.env; hay que agregarlas en el panel del sitio con el mismo nombre exacto. - Logs del hosting. En Vercel: proyecto → Logs; en Netlify: Logs → Functions. Ahí aparece el error real.
- Funciones de servidor. Vercel documenta que su error
FUNCTION_INVOCATION_FAILED(un 500) aparece cuando la función truena por una excepción no controlada; recomienda revisar logs y envolver la lógica entry/catch. Ver Vercel error 500. - Base de datos. Si usas Supabase, revisa sus Logs. Reglas RLS o tablas faltantes en producción provocan errores que tu servidor puede devolver como 500.
La guía de publicación está en deploy de Bolt en Netlify o Vercel.
Casos frecuentes con Supabase en apps de Bolt
Muchas apps de Bolt usan Supabase como base de datos y para funciones de servidor. Estos casos se ven seguido:
- “Edge Function returned a non-2xx status code”: la librería de Supabase en el navegador te avisa que una Edge Function (una función de servidor que vive en Supabase) respondió con error. El detalle no está en Bolt sino en el panel de Supabase: Edge Functions → tu función → Logs. Lo típico es un secret que no se configuró en Supabase, porque las variables del
.envde Bolt no se copian solas a las funciones. - Tabla o columna que no existe: la IA cambió el código para usar una columna nueva, pero la migración que la crea no se aplicó en tu proyecto de Supabase. El log dice algo como
column "estado" does not exist. Revisa en Table Editor si la columna está. - Política RLS que bloquea una inserción: suele verse como 401 o 403, pero algunos servidores lo envuelven y devuelven 500. Si el mensaje original menciona
row-level security, ve a new row violates row-level security. - Proyecto pausado: en planes gratuitos, Supabase pausa proyectos inactivos. Si la app dejó de responder de golpe tras semanas sin uso, revisa el panel del proyecto.
Cómo evitar que regrese
- Conecta el proyecto a GitHub y haz que cada versión que funciona quede guardada.
- Un cambio por prompt: es más fácil saber cuál rompió la app.
- Mantén una lista de variables de entorno con su propósito, para copiarlas sin errores a cada hosting.
- Prueba la app publicada después de cada cambio importante, no solo la vista previa.
Qué revisar si nada funciona
- ¿El error empezó tras un prompt en particular? Regresa a una versión anterior desde el historial o desde GitHub.
- ¿Pasa con todos los usuarios o solo con algunos? Si es con algunos, suele ser de permisos o datos específicos.
- ¿Pasa siempre o a veces? Si es a veces, sospecha de una API externa o de límites de uso.
Errores comunes
- Pegar en el chat solo “da error 500” sin el texto de la terminal.
- Dejar que la IA agregue
try/catchvacíos que esconden el error sin arreglarlo. - Poner llaves secretas en el frontend para “probar rápido” y olvidarlas ahí.
- Reinstalar todo una y otra vez sin leer el log.
Si tu app de Bolt sigue dando 500 o falla solo publicada, en Black Engine revisamos la terminal, los logs y el código contigo por WhatsApp. Si estás perdido sobre por dónde empezar, lee qué hacer si tu app hecha con IA no funciona.
Preguntas frecuentes
¿Qué significa 'an unexpected status code 500' en Bolt?
Que un servidor respondió con error interno. Puede ser Bolt (temporal), el servidor de tu propia app dentro de la vista previa, o una API externa que tu app llama.
¿Por qué mi app de Bolt funciona en la vista previa pero da 500 publicada?
Casi siempre por variables de entorno que no se copiaron al hosting, por una función de servidor que falla allá, o por reglas de la base de datos distintas en producción.
¿Qué navegador recomienda Bolt?
Bolt recomienda Chrome o un navegador basado en Chromium, sin extensiones como bloqueadores de anuncios y sin VPN, porque su entorno corre dentro del navegador.
¿Debo pedirle a Bolt que lo arregle solo?
Primero copia el error completo de la terminal o la consola y pégaselo. Sin el error exacto, la IA suele adivinar y crear nuevos problemas.