# OpenCode vs Claude Code: 12 ejecuciones con el mismo modelo > Comparativa medida de OpenCode y Claude Code ejecutando las mismas dos tareas con claude-sonnet-5 en los dos lados. Tiempo, coste, cumplimiento del brief y un hallazgo sobre las skills. Fuente: https://skillsagentes.com/blog/opencode-vs-claude-code Markdown: https://skillsagentes.com/blog/opencode-vs-claude-code.md Publicado el 2026-09-11. Lectura: 8 min. Temas: claude-code, opencode, agentes, skills, comparativa. --- > **TL;DR** > > - Las dos herramientas ejecutaron **las mismas dos tareas con el mismo modelo** (`claude-sonnet-5`), con el mismo conjunto de herramientas y en directorios limpios. 12 ejecuciones en total. > - **Claude Code fue más rápido de forma consistente**: OpenCode tardó 1,54× en la primera tarea y 1,56× en la segunda. Dos tareas independientes, misma proporción con menos de un 2% de diferencia. > - **OpenCode salió más barato por ejecución** contra OpenCode Zen: 0,82× y 0,87× del coste. Con matices importantes sobre cómo se factura cada uno. > - **Empate técnico en calidad objetiva**: las 12 ejecuciones pasaron el 100% de las comprobaciones automáticas del brief, incluidas seis trampas diseñadas para provocar fallos. > - El hallazgo que no buscábamos: **OpenCode lee `~/.claude/skills`**, el mismo directorio de Claude Code. La diferencia de calidad visual entre ejecuciones no la marcó el agente, sino si cargó o no una skill. * * * ## Por qué esta comparativa es distinta Casi todas las comparativas publicadas de OpenCode y Claude Code enfrentan dos productos con modelos distintos. Eso mide los modelos, no los agentes. Aquí los dos lados ejecutaron **`claude-sonnet-5`**: Claude Code contra la API de Anthropic, OpenCode a través de OpenCode Zen, que revende los mismos modelos de Anthropic. Con el modelo fijo, lo que queda medido es el agente: cuántas vueltas da, cuánto contexto arrastra y cuánto tarda en llegar al mismo sitio. ## Cómo se hizo Dos tareas, pensadas para quien monta su propio negocio y no para quien mantiene un compilador. **Tarea 1 — landing page.** Una página de una sola pieza para una gestoría online: hero, tres beneficios, tabla de precios con tres planes, testimonios, FAQ y pie con enlaces legales. Sin build, sin CDN, todo el CSS dentro del archivo, responsive y con modo oscuro. **Tarea 2 — página de precios con trampas.** El mismo formato, pero con un brief lleno de restricciones fáciles de incumplir mientras se produce algo bonito: - Exactamente dos planes, no tres. - Prohibida la palabra «gratis» en toda la página. - El texto literal «IVA no incluido» bajo cada precio. - Cero JavaScript. - Menos de 20 KB. - Exactamente 6 filas en la tabla comparativa y 3 preguntas en la FAQ. Las condiciones de ejecución fueron idénticas en los dos lados: - **Directorio limpio por ejecución.** Ninguno de los dos agentes vio nunca el trabajo del otro ni su propio intento anterior. - **Mismo conjunto de herramientas.** Escritura, lectura, edición, búsqueda y carga de skills. Sin shell en ninguno de los dos, porque la tarea no lo necesitaba. - **Modo desatendido**, sin intervención humana durante la ejecución. - **Ejecuciones en serie**, nunca en paralelo: dos agentes compitiendo por CPU y red corrompen justo el número que se quiere medir. ## Los resultados ### Tarea 1: landing page | Métrica | Claude Code | OpenCode (Zen) | | --- | --- | --- | | Tiempo medio | **99,3 s** | 153,2 s | | Coste medio | 0,377 $ | **0,310 $** | | Tamaño del HTML | 26.349 B | 27.151 B | | Comprobaciones del brief | 7/7 | 7/7 | ### Tarea 2: página de precios con trampas | Métrica | Claude Code | OpenCode (Zen) | | --- | --- | --- | | Tiempo medio | **34,4 s** | 53,5 s | | Coste medio | 0,190 $ | **0,166 $** | | Tamaño del HTML | 5.668 B | 7.806 B | | Comprobaciones del brief | 10/10 | 10/10 | Lo interesante es la consistencia. OpenCode tardó **1,54×** en la primera tarea y **1,56×** en la segunda. Costó **0,82×** y **0,87×**. Dos tareas de tamaño y naturaleza distintas producen prácticamente la misma proporción, lo que sugiere que la diferencia es estructural del agente y no ruido de una tarea concreta. ### Ninguna trampa funcionó Las seis restricciones de la tarea 2 se comprobaron una a una sobre los seis archivos generados. Cero apariciones de «gratis». Cero etiquetas `