Snapshot, branch, and diff a running LLM session.
thaw freezes a live vLLM or SGLang session to a file you can inspect, diff, and restore. Branch a session like a commit. Read the snapshot on your laptop, no GPU required.
Six verbs. One file.
The same shape as git, for a process you cannot pause: a live inference session. Four of the six run on your laptop with no GPU.
thaw checkpointFreeze a live session to a durable file.gputhaw branchFork a checkpoint into a divergent child.no gputhaw checkoutRestore a checkpoint into a fresh engine.gputhaw inspectRead a snapshot's blocks, tokens, and lineage.no gputhaw diffCompare two snapshots' shared KV and divergence.no gputhaw logWalk the lineage tree of a session.no gpuFork a session like you fork a repo.
One running session becomes N divergent children that skip prefill and diverge from the fork point. Branch a reasoning trace, keep the winner, throw away the rest.
What actually gets frozen.
Weights + KV cache
The model weights and the live attention cache are captured together, byte-for-byte, with a CRC over every region. Restore reproduces the session's next token exactly.
Scheduler + prefix-hash state
thaw also captures vLLM's block table and prefix-hash map, the part everyone else drops. That is what lets a restored session keep its cached prefix instead of re-prefilling it.
The file
All of it lands in one .thaw directory. inspect, diff, and log read the metadata sidecar on any machine. No CUDA, no engine, no GPU.
The numbers, with the hardware attached.
Only re-validated numbers appear here, each linked to its raw JSON. Throughput is pod-specific; restore is bit-identical across 8 architectures.
A session is a value. Treat it like one.
Works inside the engines you already run.
load_format="thaw"Full snapshot, KV cache, and restore. The only path that captures scheduler and prefix-hash state. Validated bit-identical across 8 architectures.
class-passthrough loaderWeights freeze and restore validated on H100 TP=2. KV path is vLLM-only today.
fork_fanout()Branch one graph node into N divergent children that skip prefill.
Install and inspect a snapshot in two lines.
$ pip install thaw-vllm thaw-native$ thaw inspect base.thaw # no GPU required
Pre-built wheels on PyPI. CUDA 12+ for restore; inspect and diff run anywhere Python does.