Founding Member: $499/mes de por vida
Micare
Productividad

Aviso de costo al reanudar conversación

Un hook que, cuando reanudas una conversación pausada, detecta la reanudación, lee el registro para estimar qué tan grande era tu caché de contexto, y te avisa que retomarla lo reconstruye desde cero (con su costo). Así decides con conciencia si te conviene seguir el historial o arrancar limpio. Umbral y precio configurables.

HookPremiumProductividadmemoria y contexto

🌱 Empieza aquí · Aviso de costo al reanudar conversación

¿Alguna vez dejaste una conversación larga a medias y al día siguiente la retomaste? Tu asistente guarda todo ese contexto en una especie de memoria rápida temporal (el "caché") para no rehacer el trabajo en cada turno. Pero esa memoria rápida caduca a los pocos minutos u horas. Cuando reanudas una conversación vieja, ya caducó, así que tu asistente tiene que reconstruirla completa desde cero en el primer turno, y eso cuesta más de lo normal, muchas veces sin que te enteres.

Esta semilla instala un pequeño vigilante que, en el momento exacto en que reanudas, te avisa cuánto contexto se va a reconstruir, para que decidas con conciencia: seguir con el historial completo, o abrir una conversación nueva y limpia (más barata).

Para instalarla

Abre esta carpeta con Claude Code y dile a tu asistente:

"Siembra esta semilla 🌱"

Con eso basta de tu parte. Tu asistente hace todo lo técnico y al final te dice cómo comprobar que quedó funcionando. Vas a ver algunas palabras en inglés en la pantalla; ni caso, él te guía.

¿Otras formas de pedírselo? "instala esta semilla", "pon a funcionar el aviso de caché al reanudar", "haz el setup de esto". Te entiende igual.


Para el asistente que siembra 🤖

Instala este hook (gancho de automatización) del evento SessionStart (inicio de sesión). Es un script de Python que solo actúa cuando source == "resume". Sigue estos pasos y no inventes rutas: usa $HOME siempre.

1. Copia el script del kernel (el corazón de la semilla)

Copia kernel/cache-resume-detect.py a la carpeta de hooks del usuario y dale permiso de ejecución.

Claude Code (macOS o Linux):

mkdir -p "$HOME/.claude/hooks"
cp kernel/cache-resume-detect.py "$HOME/.claude/hooks/cache-resume-detect.py"
chmod +x "$HOME/.claude/hooks/cache-resume-detect.py"

Windows (Git Bash / WSL): misma ruta ~/.claude/hooks/. Requiere python3 disponible en el PATH (viene con Git Bash + Python, o con WSL). Si el usuario corre Claude Code nativo en Windows sin python3, avísale que este hook necesita Python 3.

2. Registra el hook en settings.json

Abre $HOME/.claude/settings.json (créalo si no existe) y agrega esta entrada dentro de hooks.SessionStart. Si ya hay hooks de SessionStart, suma este objeto al arreglo hooks existente en lugar de reemplazarlo:

{
  "hooks": {
    "SessionStart": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "python3 $HOME/.claude/hooks/cache-resume-detect.py",
            "timeout": 5
          }
        ]
      }
    ]
  }
}

El matcher vacío hace que el hook corra en todos los inicios de sesión; el script mismo filtra y solo actúa cuando reanudas. Si prefieres afinar, puedes poner "matcher": "resume" para que ni siquiera arranque en sesiones nuevas.

3. (Opcional) Ajusta el umbral o agrega un costo estimado

El aviso solo aparece si el caché superaba cierto tamaño (por defecto 5000 tokens), para no molestar en conversaciones chicas y baratas. Estas variables de entorno lo personalizan (exportarlas antes de que corra el hook, o dejarlas fijas en el entorno del usuario):

  • CACHE_RESUME_MIN_TOKENS — tamaño mínimo de caché (en tokens) para disparar el aviso (por defecto 5000). Súbelo si quieres que avise solo en conversaciones muy grandes.
  • CACHE_RESUME_PRICE_PER_MTOK — precio por 1,000,000 de tokens de escritura de caché, en la moneda del usuario, como número sin símbolo (ej. 3.75). Si lo fijas, el aviso agrega una línea de costo estimado; si lo dejas vacío, solo muestra el tamaño en tokens. El precio exacto depende del modelo y del plan del usuario, así que no lo adivines: pregúntaselo o déjalo sin fijar.
  • CACHE_RESUME_WARN_DISABLE — ponlo en 1 para apagar el aviso por completo.

4. Verificación post-siembra (obligatoria)

Comprueba que el hook se dispara de verdad. Como por seguridad solo lee registros que viven dentro de ~/.claude, la prueba coloca ahí un transcript de mentiritas:

TT="$HOME/.claude/_prueba-transcript.jsonl"
printf '%s\n' '{"message":{"role":"assistant","usage":{"cache_creation_input_tokens":118000,"cache_read_input_tokens":6000}}}' > "$TT"
echo '{"source":"resume","session_id":"t","transcript_path":"'"$TT"'"}' | python3 "$HOME/.claude/hooks/cache-resume-detect.py"; echo "EXIT=$?"

Salida esperada: una línea JSON con un campo "systemMessage" que menciona ~124 000 tokens, y EXIT=0. Ese systemMessage es justo el aviso que verá el usuario.

Ahora comprueba el caso feliz (una sesión nueva NO debe avisar):

echo '{"source":"startup","session_id":"t"}' | python3 "$HOME/.claude/hooks/cache-resume-detect.py"; echo "EXIT=$?"
rm -f "$TT"

Salida esperada: sin ninguna salida y EXIT=0.

Por último, confirma que el hook quedó registrado en settings.json:

grep -q 'cache-resume-detect' "$HOME/.claude/settings.json" && echo 'REGISTRADO'

Salida esperada: REGISTRADO.

Cuando las tres pruebas den lo esperado, avísale al usuario que ya quedó y explícale en una línea qué gana con esto.


✅ ¿Cómo sé que funcionó?

De ahora en adelante, cada vez que reanudes una conversación que traía bastante contexto, apenas arranque verás un aviso corto: "ojo, retomar esto reconstruye ~X tokens de caché, tiene un costo; si no necesitas el historial, empieza limpio". No tienes que hacer nada especial en el día a día. Solo vas a tomar mejores decisiones sobre cuándo seguir una conversación vieja y cuándo abrir una nueva, y a gastar menos sin pensarlo. Eso es todo. 🌱

Inspiración y crédito

Fuentes y patrones abiertos que inspiraron esta semilla. Nos gusta reconocer de dónde vienen las buenas ideas.

  • Documentación oficial de prompt caching y de hooks (SessionStart) de Claude Code

¿Quieres implementarla con acompañamiento?

Agenda una asesoría directa con JP y aterrízala en tu caso · desde $600 MXN.

Agendar una asesoría