Affects: vllm-mlx 0.4.1 and current main (waybarrios/vllm-mlx), SimpleEngine
(i.e. without --continuous-batching), any tool-calling client — Claude Code,
OpenAI-style function calling, anything that sends tool_result / tool messages.
Impact: the first turn of a conversation caches correctly. Every turn after the first tool call re-prefills the entire system prompt, which for an agent client is ~20k tokens of system prompt + tool schemas. On an M3 Ultra at ~300 tok/s that is 60-80 s per turn, every turn.