Respuesta rápida: OpenCode documenta un patrón de almacenamiento local por proyecto, normalmente dentro del directorio de datos del usuario. En sistemas tipo Unix puede parecerse a ~/.local/share/opencode/project/{project}/storage/session, pero debes comprobar la ruta real de tu sistema, WSL, contenedor o servidor remoto.
Respuesta rápida: la carpeta de sesión es local y depende del proyecto
La consulta suele aparecer cuando alguien quiere recuperar una conversación, mover el historial a otro equipo, revisar consumo de disco o comprobar si una sesión guardó información sensible. Por eso conviene tratar las sesiones como registros privados del proyecto, no como archivos de código fuente.
El patrón de la documentación oficial es el punto de partida, pero no sustituye la verificación local. Si ejecutas OpenCode en WSL, Docker, SSH o un contenedor de desarrollo, la ruta pertenece a ese entorno, no necesariamente al escritorio donde estás mirando.
También separa tres conceptos: historial de sesión, configuración del proyecto y credenciales del proveedor. Guardar una sesión no equivale a guardar claves API, y copiar una configuración no siempre mueve el historial.

5 comprobaciones de ruta antes de copiar o borrar
Primero vuelve al repositorio donde se creó la sesión. Después identifica el directorio de datos que usa OpenCode en ese runtime. Luego busca la carpeta de proyecto, revisa las marcas de tiempo y solo entonces copia el directorio completo a una ubicación privada.
Si no encuentras nada, crea una sesión mínima en un proyecto desechable y observa qué carpeta cambia. Esa prueba evita tocar un proyecto real y te da una pista fiable sobre la ruta usada por tu instalación.
No copies solo un archivo JSON visible. Los metadatos o índices cercanos pueden ser necesarios para que el historial se reconstruya correctamente.
Que tarea de sesiones quieres resolver
El historial de sesion, la configuracion del proyecto y la conexion de proveedores son tareas distintas. Usa esta tabla para elegir entre localizar, copiar, restaurar, limpiar o compartir informacion sin exponer datos privados.
| Situacion | Mejor accion | Por que importa |
|---|---|---|
| Necesitas la carpeta de sesiones | Verifica runtime y ruta de datos del proyecto | Host, WSL, contenedores, SSH y slugs de proyecto pueden usar carpetas distintas |
| Buscas opencode.json | Usa la guia de configuracion | Configuracion y sesiones no son el mismo dato |
| Tienes un problema de provider | Revisa credenciales, modelo y provider primero | La conexion suele depender de configuracion, no del historial |
| Quieres mover historial a otra maquina | Crea primero el proyecto destino y restaura una copia privada | Eso reduce errores de ruta y version |
| Quieres compartir archivos | Prefiere resumen o reproduccion minima | Las sesiones pueden incluir prompts, rutas, codigo, salida de terminal y secretos |
Cómo respaldar o mover sesiones de OpenCode con seguridad
Cierra OpenCode antes de copiar para evitar archivos a medio escribir. Guarda el directorio de sesión del proyecto fuera del repositorio, idealmente en una carpeta privada o cifrada. No lo subas a Git ni a un ticket público.
Para migrar a otra máquina, instala OpenCode y abre una vez el proyecto destino. Así se crean las carpetas base. Después restaura una copia de la sesión y conserva el archivo original hasta comprobar que el historial aparece.
En equipos, suele ser mejor compartir un resumen técnico que enviar archivos de sesión completos. El resumen conserva la decisión y reduce el riesgo de exponer rutas, fragmentos de código o salidas de terminal.

Revisión de privacidad antes de compartir o limpiar
Una sesión puede contener prompts, rutas locales, trazas de comandos, errores, fragmentos de código y respuestas del modelo. Antes de compartirla, busca claves API, tokens, nombres de clientes, dominios internos y variables de entorno.
Si necesitas reportar un bug, crea una reproducción mínima en un repositorio limpio. Redactar una sesión grande de producción es más frágil porque los secretos pueden aparecer dentro de una salida de consola o un stack trace.
La limpieza es razonable para reducir disco o riesgo de exposición, pero solo cuando sabes qué proyecto estás borrando. Si el historial puede servir para auditoría o traspaso, archívalo primero.

Qué revisar cuando la carpeta esperada está vacía
Una carpeta vacía casi siempre indica runtime equivocado, usuario equivocado, slug de proyecto distinto o versión diferente. Comprueba si la sesión se creó en WSL, SSH, contenedor, servidor remoto o con otra cuenta.
Si moviste el repositorio, la sesión antigua puede seguir existiendo pero no estar asociada al nuevo path. Copia directorios candidatos y revisa fechas, nombres y estructura antes de ejecutar cualquier limpieza.
Evita crear muchas sesiones nuevas durante la búsqueda si la sesión perdida es importante. Cada escritura cambia señales de tiempo que pueden ayudarte a reconstruir la ubicación.
Resumen: trata las sesiones como registros privados del proyecto
La regla práctica es localizar, respaldar, revisar y recién después limpiar. Documenta la ruta, prohíbe subir sesiones al repositorio y usa resúmenes cuando necesites compartir contexto con otra persona.
FAQ sobre almacenamiento de sesiones de OpenCode
¿Dónde se guardan las sesiones de OpenCode?
En el área local de datos de OpenCode, normalmente separadas por proyecto. Verifica la ruta real de tu runtime y usa la documentación oficial como referencia actual.
¿Puedo borrar sesiones antiguas?
Sí, pero cierra OpenCode y guarda una copia privada si el historial puede servir para depuración, auditoría o traspaso.
¿Debo subir sesiones a Git?
No. Pueden contener prompts, rutas, código, salidas de terminal y datos internos.
¿Por qué no encuentro la carpeta?
Tal vez la sesión se creó en WSL, SSH, contenedor u otra cuenta de usuario.
¿Puedo mover sesiones a otro equipo?
Normalmente sí, pero crea primero las carpetas base en el equipo destino y conserva la copia original hasta validar.
Sources
Use official documentation for current path examples and third-party session readers only as supporting context.