Local Quench

A coding agent for the GPU you already have.

Local Quench reads, edits, runs and tests your code with a model loaded in LM Studio or llama.cpp on your own graphics card. The harness around the model is built for the ways local models go wrong, so it gets more out of whatever model your graphics card runs.

  • Runs onLinux (AppImage) and Windows. On Android with the app, on iPhone and iPad in Safari, both through your own Tailscale network. How to connect
  • ModelsAny model served by LM Studio, llama-server, Ollama or vLLM. Cloud models (Claude, GPT, Gemini, OpenRouter, NVIDIA) with your own key.
  • Your codeStays on your computer. If you want to help improve Local Quench, you can choose to share your chats. How sharing works
  • CostsYour electricity, counted per chat next to what the same tokens would cost on a cloud model. With a cloud model, your provider's API price.
Download

Public beta. Free, for Windows, Linux and Android.

All downloads and requirements

What runs on your card

The model advisor from the app
ModelQuantFileRuns on~tok/sQuality

Speed comes from memory bandwidth: each generated token reads every active weight once, so two models of the same size and architecture run at the same speed. A listed card fills in its memory and bandwidth from the maker's spec sheet; pick Custom for anything else. Quality is the public SWE-bench Verified score, lowered for the quantization, or estimated from SWE-bench Pro when a model publishes only that (marked ~); model list from 2026-10-22. In the app, models you ran through QuenchBench show the score measured on your machine instead.

Small models fail in predictable ways. The harness is built around them.

Every rule below comes from transcripts of 9B and 35B models working on real tasks, and each one can be switched off and measured with QuenchBench. Frontier models such as Claude, GPT or Gemini get a lean harness without them.

What a local model does
What Local Quench does
Writes "let me run the tests now" and stops without calling a tool.
Notices the announced step and lets the model continue.
Fixes the bug, then spends twenty steps debugging its own hand-written check.
Counts steps since the last real change and tells it to compare the check with the task.
Runs make | tail, sees exit code 0 and reports success.
Reports every exit code in the pipe, so a failed build stays failed.
Starts a dev server with &, then wonders where its log went.
Runs it as a background job and gives each chat its own /tmp that lasts.
Tries the same command with a different | grep twenty times.
Sees the output did not change and says what the one line means.
Edits a file with a search block that no longer matches.
Repairs near matches, shows the diff and runs a syntax check after every edit.

Everything a coding agent needs, tuned for the model on your card.

Local Quench is a complete agent, not a chat window: it reads and edits the project, runs commands and tests, checks its own work and keeps you in control of what it may touch.

Reads the project

Outline, search, find files, a ranked map of the repository, and a language server when one is installed: where a symbol is defined and used, rename across files.

Edits safely

The edit format each model handles best, near-match repair, a syntax check and new-problem diagnostics after every edit, undo per change and rewind per message.

Runs and tests

Commands with exit codes that do not lie, background jobs, a test tool, and a verify command that runs when the agent says it is done.

Works in the browser

Opens your dev server, reads, clicks and types, and takes the elements you point at.

Remembers the project

/init rewrites CLAUDE.md, AGENTS.md and Cursor rules as short, plain rules a small model follows, without touching them. The commands that worked are remembered for the next chat.

Plans and splits work

Plan mode, a task list, sub-agents that explore in parallel, a git worktree per chat and best-of-N attempts judged by your tests.

Extends

MCP servers, skills and hooks in the Claude Code format, GitHub pull requests and CI checks, web search and fetch, and a command line for scripts and CI.

Stays in its folder

Asks before anything outside the project, for once, the chat, the session or the project. Commands run in a sandbox.

Measures itself

QuenchBench, a model advisor for your hardware, a harness tuner per model, and the cost of every chat in electricity and in cloud prices.

How it differs

Local QuenchCloud coding agentsOpen agents
Built forLocal models on your GPU, cloud models tooTheir own frontier modelsAny model, tuned for none
Harness per model sizeLight for small models, lean for frontier ones, adjusted per model by the tunerOne harnessOne harness
Your codeStays on your computerSent to the providerDepends on the model you pick
Benchmark in the appQuenchBench on your machine, your model and quantizationNoNo
Tells you which model fits your cardYes, with speed and qualityNoNo
LM Studio integrationContext, KV cache, runtimes, prompt-cache slotsNoThrough an OpenAI-style endpoint
Phone and tabletYour own computer, through TailscaleThrough their cloudRarely
PriceFreeSubscription or per tokenFree, you pay the model

Point at the page instead of describing it.

The agent opens your dev server in a real browser, reads the page, clicks, types and reads the console. You see the same page in the app. Right-click an element, write what should change, and the agent gets the element, where it sits on the page, and the file and lines it comes from.

Build the pricing page from the mockup.
Done: src/pricing.html has the three plans and the toggle. The tests pass.
localhost:5173/pricing
Starter$0
Pro$49 / monthStart free trial
Team$99
<p> p.price src/pricing.html:18-20 exact What should change here? (optional) CancelAdd to chat

For a page served from an HTML file in your project, the element is matched to its exact lines. React, Vue and Svelte development builds report their own source file and line. Writing a comment on the element is optional: you can say what should change in the message itself.

QuenchBench: does a local model do the work you need?

537 tasks in 13 kinds of work and 7 languages, checked by hidden tests in a fresh container without network access. The result says, per kind of work, whether a model on your card is reliable, needs review, or is not suitable, with the error band. Results shared by users are combined per model, quantization and graphics card.

537tasks, each with a reference solution that passes and starting code that fails
13kinds of work, from bug fixes to vague requests and 20-file projects
7languages, plus web UI checked in a real browser

How QuenchBench works, its sections and the results

Keep working from your phone or tablet.

The app on your computer serves its interface to your phone or tablet over Tailscale, a private network between your own devices. The model keeps running on your GPU at home; the phone shows the chats, the files and the changes, and you can start and stop the agent. There is no server of ours in between and no account with us.

  1. Install Tailscale on the computer and the phone and sign in to the same account.
  2. Turn on phone access in Local Quench: Settings, Phone & tablet.
  3. Android: install the app from the QR code and pick your computer. iPhone or iPad: open the link in Safari and add it to the Home Screen.

Step by step, with what to do when it does not connect

Local Quench on a tablet held sideways: the project files, the chat and the model settings
Local Quench on a phone: a chat with the agent
Screenshots of the app on a tablet and a phone, connected to a computer running Ornith 1.5 35B-A3B in LM Studio.

Your data stays yours.

Local Quench never takes your code or your chats without your consent. Everything stays on your computer, and the app asks before the agent reads or changes anything outside the project folder. If you connect a cloud model, your requests go to that provider, under your own account.

Sharing is off by default. If you want to help make Local Quench and its future models better, you can share your chats. Helping improve the app and allowing your chats to train models are two separate choices: you can say yes to the first and no to the second. The app shows the full terms before you agree, and you can change either choice or delete what you shared at any time.

How sharing works · Privacy policy

Your chat, on your computer
export OPENAI_API_KEY=sk-proj-8Hq2…Tz
password = "hunter2hunter2"
git clone https://jan:s3cret@git.example.net/app
mail jan.kowalski@gmail.com
cd /home/jan/code/app
What we would receive if you share it
export OPENAI_API_KEY=[API_KEY]
password = "[SECRET]"
git clone https://[PASSWORD_IN_URL]@git.example.net/app
mail [EMAIL]
cd ~/code/app
The top is the chat as it stays on your computer. The bottom is the copy that would be sent: keys, passwords, e-mail addresses and your home folder are cut out on your computer before anything leaves it. In the app, Preview shows this for any of your own chats.