Preparing a browser model and understanding WebGPU limitations.
WebLLM runs a model inside the browser using WebGPU. Inference needs no remote API, but initial preparation downloads the runtime and weights. Web or MCP tools may still communicate with external services.
Offline operation depends on all application and model resources being available in cache. Opening the page once does not guarantee it. See the WebLLM guide.
You need a browser with working WebGPU, a compatible graphics adapter and enough memory. The catalogue shows a memory estimate for each model; context and prompt processing add to usage.
Start with a small model and a moderate window. WebGPU availability does not guarantee that a particular model fits on the GPU or works with its drivers.
Use an up-to-date version, review graphics acceleration in browser settings and check WebGPU status on its diagnostic page, for example chrome://gpu.
Experimental flags are not a routine setup requirement. Forcing options that bypass driver checks can introduce failures and does not solve missing memory or device support.
Availability depends on the version, operating system, GPU and drivers. Review about:support and check whether ZeroChat detects WebGPU.
Changing advanced preferences or ignoring driver blocks is not a general requirement. If usable WebGPU is unavailable, use a compatible environment or an inference server profile.
Initial preparation can take time and occupy several gigabytes. Cache belongs to the browser and origin used; another browser may need a new download.
WebLLM offers no native tool calling for most models. ZeroChat describes the enabled tools in the system prompt and the model requests them by writing a <tool_call>{"name": ..., "arguments": {...}}</tool_call> block. ZeroChat hides that block, runs the tool and returns the result inside <tool_response>.
The catalogue labels as Recommended for tools the models trained on this format and large enough to chain steps: Qwen3 4B/8B, Qwen3.5 4B/9B, Hermes 3 (Llama 3.1 8B) and Hermes 2 Pro. Smaller models may try, but they often get arguments wrong or fail to conclude. Tool definitions consume context: enable only the ones you need.
Below the model, the WebLLM profile always shows the selectors for context_window_size (context window) and prefill_chunk_size (the prompt processing block size).
The context window accepts 4K, 8K, 16K, 32K, 64K and 128K. The default is 4K on phones and 16K on other devices, because the WebLLM catalog estimates each model's memory at 4K. Profiles already saved keep their value. For prefill, Model default retains its configuration. Increasing context consumes more memory. Changing prefill may affect speed and memory without guaranteeing an improvement. If preparation fails, return to defaults or try a smaller model.
If you changed a flag, reset that option to Default and restart. Avoid resetting all browser options when you changed only one.
If you changed a WebGPU preference, use its reset control in about:config. Defaults depend on the version: do not replace them with a fixed value from an old guide.
Use the catalogue delete action to remove a model. To reset all storage, Settings → Clear all deletes data for the current origin, including conversations, profiles, RAG, attachments and models. Export what you want to keep and close other tabs before confirming.
This does not delete files downloaded to disk, HttpOnly cookies or the browser's internal HTTP cache. Data for different origins is separate.
mapAsync on a phone), ZeroChat discards the engine and prepares it again on the next message.Compatibility must be checked on the actual device. A model may support chat without supporting vision or another provider's reasoning settings, or may use tools poorly.