Oh My Posh se encuentra con Claude Code: Prompts de terminal potenciados por IA
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
La personalización de terminal acaba de volverse mucho más inteligente. Oh My Posh ahora se integra con Claude Code a través de su funcionalidad statusline, trayendo información de sesión de IA en tiempo real y contexto de desarrollo directamente a tu prompt de Claude Code. Esto no es solo otro segmento: es un puente entre tu flujo de trabajo de desarrollo y la asistencia de codificación potenciada por IA.

¿Qué es la statusline de Claude Code?
La función statusline de Claude Code te permite crear visualizaciones de estado personalizadas que aparecen en la parte inferior de la interfaz de Claude Code, similar a cómo funcionan los prompts de terminal en shells. El statusline recibe datos JSON enriquecidos sobre tu sesión de IA actual a través de stdin, incluyendo:
-
Información del modelo: Qué modelo de Claude estás usando (Claude Sonnet, Claude Opus, etc.)
-
Uso de tokens: Tokens de entrada/salida, utilización de la ventana de contexto y porcentajes de uso
-
Seguimiento de costos: Cálculos de costo en tiempo real y duración de sesión
-
Contexto del espacio de trabajo: Directorios actuales y de proyecto
-
Metadatos de sesión: IDs de sesión únicos e información de versión
El statusline se actualiza automáticamente cuando los mensajes de la conversación cambian (con un límite máximo de 300ms), y la stdout de tu comando se convierte en la visualización de estado con soporte completo de colores ANSI.
Configuración de la integración
La configuración es sencilla. Añade esto a los ajustes de Claude Code:
{
"statusLine": {
"type": "command",
"command": "oh-my-posh claude",
"padding": 0
}
}
¡Eso es todo! Oh My Posh detectará automáticamente cuando Claude Code proporcione datos de sesión y mostrará la información relevante en tu prompt.
Es importante notar que el comando CLI claude opera de manera diferente a tu configuración de prompt regular. Cuando se usa como comando statusline, Oh My Posh se ejecuta en un modo especial completamente separado de tu prompt de terminal estándar. Esto significa que probablemente querrás crear una configuración dedicada y mínima específica para Claude Code que se centre en mostrar información de sesión de IA en lugar de tus elementos de prompt habituales.
Configuración personalizada
Por defecto, el comando oh-my-posh claude proporciona un statusline incorporado que muestra tu directorio de trabajo actual, contexto de git, nombre del modelo activo y uso de la ventana de contexto como un indicador visual. Para personalizar esta visualización, usa el flag --config para especificar tu propio archivo de configuración de tema que incluya un segmento claude personalizado adaptado a tus preferencias.
{
"statusLine": {
"type": "command",
"command": "oh-my-posh claude --config ~/.claude.omp.json",
"padding": 0
}
}
Solo asegúrate de que la configuración también aproveche los datos disponibles en el segmento claude para visualizar las estadísticas que te interesan. Como esto no es una integración de prompt regular, mantén el statusline en una sola línea y usa bloques de prompt alineados a izquierda y derecha para experimentar.
{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
"palette": {
"black": "#262B44",
"blue": "#4B95E9",
"green": "#59C9A5",
"orange": "#F07623",
"red": "#D81E5B",
"sapling": "#a6d189",
"white": "#E0DEF4",
"yellow": "#F3AE35"
},
"accent_color": "32",
"blocks": [
{
"type": "prompt",
"alignment": "left",
"segments": [
{
"options": {
"dir_length": 3,
"folder_separator_icon": "\ue0bb",
"style": "fish"
},
"template": "{{ if .Segments.Git.Dir }} \uf1d2 <i><b>{{ .Segments.Git.RepoName }}{{ if .Segments.Git.IsWorkTree }} \ue21c{{ end }}</b></i>{{ $rel := .Segments.Git.RelativeDir }}{{ if $rel }} \ueaf7 {{ .Format $rel }}{{ end }}{{ else }} \uea83 {{ path .Path .Location }}{{ end }} ",
"foreground": "p:white",
"leading_diamond": "\ue0b6",
"background": "p:orange",
"type": "path",
"style": "diamond"
},
{
"options": {
"branch_icon": "\ue0a0",
"fetch_status": true
},
"template": " {{ if .UpstreamURL }}{{ url .UpstreamIcon .UpstreamURL }} {{ end }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ nospace .Working.String }}{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }} ",
"foreground": "p:black",
"leading_diamond": "<parentBackground,background>\ue0b0</>",
"trailing_diamond": "\ue0b4",
"background": "p:green",
"type": "git",
"style": "diamond",
"foreground_templates": [
"{{ if or (.Working.Changed) (.Staging.Changed) }}p:black{{ end }}",
"{{ if or (gt .Ahead 0) (gt .Behind 0) }}p:white{{ end }}"
],
"background_templates": [
"{{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}",
"{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:red{{ end }}",
"{{ if gt .Ahead 0 }}#49416D{{ end }}",
"{{ if gt .Behind 0 }}#7A306C{{ end }}"
]
}
]
},
{
"type": "prompt",
"alignment": "right",
"segments": [
{
"leading_diamond": "\ue0b6",
"template": " \udb82\udfc9 {{ .Model.DisplayName }} \uf2d0 {{ .TokenUsagePercent.GaugeUsed }} ",
"foreground": "p:white",
"background": "accent",
"type": "claude",
"style": "diamond"
},
{
"options": {
"charged_icon": "\ue22f ",
"charging_icon": "\ue234 ",
"discharging_icon": "\ue231 "
},
"cache": {
"duration": "10m",
"strategy": "session"
},
"leading_diamond": "<background,parentBackground>\ue0b2</>",
"trailing_diamond": "\ue0b4",
"template": "{{ if not .Error }} {{ .Icon }}{{ .Percentage }}%{{ end }}",
"foreground": "#111111",
"background": "accent",
"type": "battery",
"style": "diamond",
"background_templates": [
"{{if eq \"Discharging\" .State.String}}p:orange{{end}}",
"{{if eq \"Full\" .State.String}}p:green{{end}}"
]
}
]
}
],
"version": 4
}
El segmento Claude Code
El nuevo segmento claude de Oh My Posh aprovecha estos datos del statusline para llevar la conciencia de sesión de IA directamente a tu prompt de terminal. Cuando usas el comando oh-my-posh claude como tu comando statusline en Claude Code, obtienes acceso a una gran cantidad de información de sesión que puede mostrarse en tu prompt sin necesidad de conocer los detalles técnicos.
Configuración de ejemplo
Esta es una configuración de ejemplo que muestra el nombre del modelo y uso del contexto:
{
"type": "claude",
"style": "diamond",
"leading_diamond": "\ue0b6",
"trailing_diamond": "\ue0b4",
"foreground": "#FFFFFF",
"background": "#FF6B35",
"template": " \udb82\udfc9 {{ .Model.DisplayName }} \uf2d0 {{ .TokenUsagePercent.Gauge }} "
}
Esto muestra algo como: 🤖 Claude 4.5 Sonnet ▰▰▰▱▱
El indicador proporciona retroalimentación visual instantánea sobre cuánto de tu ventana de contexto has consumido, lo cual es crucial para gestionar sesiones de codificación largas.
Los detalles técnicos
Bajo el capó, Oh My Posh lee los datos de sesión JSON enriquecidos que Claude Code proporciona a través de stdin cuando se usa como comando statusline. El segmento solo se activa cuando los datos de sesión de Claude Code están disponibles, por lo que no hay impacto en el rendimiento cuando no estás usando Claude Code.
Primeros pasos
Si ya usas Oh My Posh, añadir la integración con Claude Code es tan simple como:
-
Instala Claude Code si aún no lo has hecho
-
Añade la configuración
statuslinea los ajustes de Claude Code -
Opcionalmente crea tu propia configuración que incluya el segmento
claude -
Inicia una sesión de Claude Code y observa cómo tu prompt cobra vida
Para opciones de configuración detalladas y todas las propiedades disponibles, consulta la documentación completa del segmento Claude.
¿Qué viene después?
Esta integración abre posibilidades emocionantes. Imagina prompts que:
-
Cambien de color según el porcentaje de uso de tokens
-
Muestren iconos diferentes para distintos modelos de IA
-
Muestren advertencias de costos cuando las sesiones se vuelvan caras
-
Se integren con cualquier otro segmento para mostrar contexto de desarrollo adicional
La base está ahí, y ahora depende de la comunidad construir configuraciones increíbles que hagan el desarrollo potenciado por IA aún más fluido.