Claude Warmline banner
Miguel-Barroso Miguel-Barroso

Claude Warmline

Security community

Description

Makes Claude Code's prompt-cache state visible: HOT/COLD in your statusline from Claude Code's own data, plus an audit of when your sessions went cold, why, and what it cost

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

claude-warmline

**English** | [日本語](README.ja.md) | [繁體中文](README.zh-TW.md) | [简体中文](README.zh-CN.md)

[![tests](https://github.com/Miguel-Barroso/claude-warmline/actions/workflows/test.yml/badge.svg)](https://github.com/Miguel-Barroso/claude-warmline/actions/workflows/test.yml) [![version](https://img.shields.io/github/v/tag/Miguel-Barroso/claude-warmline?label=version)](https://github.com/Miguel-Barroso/claude-warmline/tags) [![license](https://img.shields.io/github/license/Miguel-Barroso/claude-warmline)](LICENSE)

**Warmline makes Claude Code's prompt-cache state visible.**

Claude Code can silently go cold

A working session carries tens or hundreds of thousands of tokens — system prompt, tools, every file it read, every reply — and Claude Code re-sends all of it on every turn. While the prompt cache holds, that context is *read back* at roughly **0.1×** the normal input price. When the cache goes cold, the same context is processed again at about **2×**. It goes cold after about an hour of inactivity, and instantly whenever the start of the conversation is rewritten — `/compact` and auto-compaction both do that. Come back to a big session after lunch and your next message pays the rebuild on all of it, at exactly the moment you wanted results, and nothing in the session tells you so.

**Warmline puts the cache state directly in your statusline, and gives you the tools to see what it has been doing historically.**

Opus 5 | claude-warmline | ctx 64% (127k) | cache HOT (127k, cold ~11:58) | 5h 78%

No guessing, and no timing-based inference. Since v2.1.251 Claude Code hands the statusline its own `prompt_cache` object — whether the prefix is warm, which TTL it is on, the second it expires — and warmline prints what that object says.

Then, for everything before this turn:

warmline audit

grades every recorded API turn of a session from the usage Claude Code wrote for it, and `--all` ranks every session on this machine.

![The warml