ALLOW
The configuration fits inside real headroom with margin to spare. Execution proceeds untouched.
Execution authority · local-first · GPL-3.0
The 70B loads.
Then your desktop freezes.
R1 Hardware Engine is a VS Code extension that sits between the model loader and whatever asked for it — you, or your coding agent. It reads live VRAM, system memory and KV cache pressure, then returns ALLOW, DOWNGRADED or DENY. On DENY, the launcher is never called.
No account. No license key. No purchase. Every model unlocked on install.
Weights 4.1 GB KV cache 1.4 GB Runtime 1.1 GB Headroom 9.4 GB
ALLOW
The configuration fits inside real headroom with margin to spare. Execution proceeds untouched.
DOWNGRADED
The request as written would destabilise the system — so it is rewritten. KV cache quantised, context reduced, CPU offload engaged.
DENY
No amount of compression makes it fit. Execution is blocked, with the reason stated explicitly.
A coding agent that decides to run a model locally has no idea what your machine can take. R1 exposes the authority engine as two MCP tools, so it can ask — and be told no.
check_hardware_fitrun_local_model
The guarantee is structural, not advisory. runLocalModelGate evaluates first
and returns the refusal; launchModel is never reached on a DENY.
Wiring it up
The server ships as a stdio binary. Point any MCP client at it:
{
"mcpServers": {
"r1-hardware": {
"command": "node",
"args": ["<extension-path>/out/mcp-server.js"]
}
}
}
Works in Claude Code, Cursor, or anything that speaks MCP over stdio. Diagnostics go to stderr, so the protocol stream stays clean.
The agent gets a refusal, not a crash
Plenty of sites will calculate a VRAM number for you. This one runs the engine's own arithmetic — same model matrix, same formula, same salvage order — so what you see here is the verdict the extension would reach.
Weights 7.7 GB KV cache 1.3 GB Runtime 1.1 GB Headroom 5.9 GB
Fits within safe headroom on RTX 4080 — 5.9 GB left for the OS and display.
Recommended hardware
Needs a larger card.
Check price on Amazon →As an Amazon Associate we earn from qualifying purchases.
Weights, layer counts and KV geometry come from the same model matrix the extension ships, and the fit is computed with the engine's own formula. Two differences: this page assumes the whole card is free, where the extension measures real free VRAM — always lower — and it can't see your driver, display or what else is resident. Marginal fits here can still be denied there.
Estimated weights-only footprint at Q4, before context and runtime overhead. Colour follows the verdict for the hardware selected above — change the card and the ladder repaints.
✓ Fits ↓ Tight — needs stabilisation ✗ Exceeds hardware
A local model does not fail at launch. It fails once weights are resident, the KV cache grows, and the operating system starts swapping to keep up. By then the desktop is already gone. R1 moves that decision to the front.
STEP 01
A local model configuration is requested — model, quantisation, context, batch.
STEP 02
The authority engine reads live hardware and predicts real memory pressure across VRAM and system RAM.
STEP 03
If the request is close, it is rewritten — quantised KV cache, reduced context, CPU offload — rather than refused outright.
STEP 04
If instability remains likely, execution is denied. No GPU reset, no frozen desktop, no forced reboot.
Live hardware dashboard
Safe execution — ALLOW
Crash prevention — DENY
Stabilisation — DOWNGRADED, then recovered
Stabilisation does not bypass hardware limits. If a configuration cannot be made safe, it is still denied.
R1 Hardware Engine is a free, open-source VS Code extension that decides whether a local large language model will fit on your hardware before it runs. It reads live VRAM, system memory and KV cache pressure, then returns one of three verdicts: ALLOW, DOWNGRADED or DENY. It is published by BattBotStudios under the GPL-3.0 licence.
Yes. It is free and GPL-3.0 licensed. There is no account, no licence key, no paid tier and no trial. All 21 models across 7 families are unlocked on install.
No. It sends no telemetry and makes no background network requests. Prompts, models and outputs stay on your hardware. Network access happens only when you explicitly click an external link, and any optional counters are local-only.
About 38.5 GB for the weights alone at 4-bit quantisation, before context and roughly 1.1 GB of runtime overhead. A 70B model therefore does not fit a 16 GB or 24 GB consumer GPU at 4-bit, and the engine returns DENY rather than letting the run exhaust the GPU.
Not at 4-bit with a normal context window. A 32B model needs roughly 17.6 GB for weights alone, which already exceeds 16 GB before KV cache and about 1.1 GB of runtime overhead are counted. A 14B model at 4-bit needs about 7.7 GB and fits comfortably.
DOWNGRADED means the request as written would destabilise the system, so the engine rewrote it to fit — quantising the KV cache to 4-bit, reducing the context window, or engaging CPU offload — and allowed the run in that recovered configuration.
No. Stabilisation does not bypass hardware limits. If a configuration cannot be made safe even under maximum compression and context reduction, it is still denied. True physical limits are non-negotiable.
Yes. It exposes two MCP tools: check_hardware_fit returns a verdict without
launching anything, and run_local_model asks for the verdict first and
launches only if it passes. An agent that would otherwise start a model too large for the
machine gets a refusal with a reason instead.
A calculator gives you a number you can ignore. R1 Hardware Engine sits in the execution path: on a DENY the launcher is never called. It also tries to rescue the run first — quantising the KV cache, reducing context, then offloading to CPU — and tells you which of those it did.
It is distributed through the Open VSX Registry, so it installs into VS Code, VSCodium, Cursor and Windsurf on Windows, macOS and Linux.
Install the extension, open the sidebar, and the engine scans your hardware and unlocks the whole model library immediately.
Bad prediction on your card, a model you want added, or a verdict that looked wrong — that feedback is what improves the engine.
Open an issue on GitHub →