{% if usage.prompt_cache is defined %} {% set cache = usage.prompt_cache %}

Provider prompt cache {% if cache.attention %}Needs attention{% endif %}

{{ '%.1f%%'|format(cache.read_percent) if cache.read_percent is not none else 'Unknown' }} of measured input tokens read from cache · {{ cache.hit }} call{{ '' if cache.hit == 1 else 's' }} with reuse · {{ cache.write }} cache write{{ '' if cache.write == 1 else 's' }} without reuse · {{ cache.no_reuse }} call{{ '' if cache.no_reuse == 1 else 's' }} without reuse.

{% if cache.disabled %}

Caching was disabled on {{ cache.disabled }} call{{ '' if cache.disabled == 1 else 's' }}. Enable provider prompt caching on that request path.

{% endif %} {% if cache.configuration_warning %}

Cache options were dropped or unsupported on {{ cache.configuration_warning }} call{{ '' if cache.configuration_warning == 1 else 's' }}. Check provider SDK compatibility.

{% endif %} {% if cache.unknown %}

{{ cache.unknown }} {{ 'call has' if cache.unknown == 1 else 'calls have' }} unknown cache usage. Capture the provider's cache read/write counters to diagnose them.

{% endif %} {% for warning in cache.warnings %}

{{ warning.model }}: {{ warning.message }}

{% endfor %}

First requests, short prompts and expired entries may have no reuse. Warnings identify configuration problems or observed drops; they do not prove the provider cache is broken. Prompt caching reduces repeated input processing; generated output is still billed.

{% endif %}