Skip to content

Reference

URL options

Query parameters you can add to a room link to change how that page behaves. Most people never need them.

A room page reads options from its own URL. Add them after ? and join several with &:

https://pooled.run/room?ctx=65536&kv=q8

Each option affects only the tab that opened the link. Options marked Host matter only on the device that starts the model. Join links don’t carry your options (only ?signal= when needed), and never carry relay passwords.

Supported and stable.

Option Default Where What it does
?ctx=N per model Host Context window in tokens. Rounded to 256, at least 2048, at most the model’s cap (below).
?kv=q8 off (f16) Host int8 KV cache, about 56% of the memory. 27B and MoE only. Prefill of long prompts gets much slower.
?split=speed or memory speed Host Layer split, same as the room setting. See How layers are split.
?phonelayers=1 off Host Gives phones layers even when the computers can hold the model.
?signal=SERVER PeerJS cloud Every device Your own signaling server; a comma list is tried in order. See Signaling servers.
?turn=URL none Every device A TURN relay, with ?turnuser= and ?turncred=. See TURN relay.
?relay=1 off Every device Sends all traffic through the relay, hiding this device’s IP address.
?relay=0 off Every device Never asks the site’s /api/turn for a relay.
?turnapi=1 off Every device On localhost, asks /api/turn anyway.
?ka=0 on (10 ms) Every device Turns off the keep-alive byte that stops Wi-Fi power save from parking the radio mid-answer. ?ka=N sets the period in ms.
?wake=0 on for phones Every device Turns off GPU wake, which keeps a phone’s GPU clocked up between laps. ?wake=1 asks for it on any device.
?ckptdisk=0 on Every device Keeps answer checkpoints in GPU memory only, not on disk, so a reload re-reads the conversation.
?wcache=0 on Every device Turns off the converted-weights cache on disk.
?legacyauth=0 on, for one release Host Ignores the raw invite key or pass from a device that runs a Pooled from before channel-bound proofs (it waits for Allow, and the prompt says why) and refuses links that prove nothing. See Security model.
?legacyauth=1 off Joining device Unsafe. Sends the raw invite key to a host that runs an older Pooled, as before, instead of waiting for its Allow. Anyone in the middle of signaling can pose as such a host and read the key.
Model Default Largest ?ctx=
Qwen3 1.7B 8192 16384
Qwen 3.8 27B 16384 32768
Qwen 3.6 35B MoE 32768 65536
Other models (tests and ?dev=1) 2048 (8192 on the hybrid engine) same

Long context costs little memory on the 27B and MoE; what limits it is how long the prompt takes to read. See Long context and sessions.

A link can carry the room code as https://pooled.run/r/4TKG9P, ?code=4TKG9P or #4TKG9P (and /room/4TKG9P on servers that route it; pooled.run answers 404). Codes are 4 to 6 characters with no I, L, O, U, 0 or 1.

Option Default What it does
?dev=1 off Developer controls (link numbers, bandwidth test, virtual devices, draft stats) and every model in room/models.js in the picker. Any ?signal= turns it on unless ?dev=0.
#debug off Logs the GPU’s buffer limits to the room log when the model loads.
?sim=1 off localhost only. Fake devices and chat, to see the UI without a GPU.
?mock=code off localhost only. Code mode without a model, for tests.
?eval=NAME none localhost only. Runs a Code mode eval suite from tests/eval/.
?embed=1, ?vname=, ?vgb= none Used by virtual devices: compact page, name, pledge in GB.
?maxnew=N answer length On the host: chat answers get N tokens; Code and API answers at most N.
?gbps=N measured Pins this device’s GPU copy speed (GB/s), used to pick the host. 0 is unknown.
Option Default What it does
?wire=stripeN stripe4 Activation frames over N connections (1 to 8). slice: one sliced channel; off: plain PeerJS messages.
?wiredup=N 3 Frames of up to N slices are sent twice, on two connections. 0 off, at most 64.
?netlag=MS 0 Delays every frame this device sends, to emulate a slow link.
?hb=0 on No host heartbeat (detects a silent device mid-answer).
?peerweights=0 on No weights to or from other devices; all downloads from Hugging Face.
?prefetch=N 4 (phones 1) Tensors the loader requests ahead. 0 off.
?wakems=MS 50 Longest single GPU-wake spin.
?wake=keep off Also keeps the GPU busy after this worker sends its frame.
Option Default What it does
?ckpt=N 2 Keeps the state after the last N answers, so a regenerate or edit resumes instead of re-reading. 0 off.
?wcacheverify=1 off Checks each converted-weights cache entry’s hash (slower).

Speed switches. Each turns a faster path off; the tokens stay the same unless noted.

Option Default What it does
?fill=0 on No draft-cache fill during a room prefill (fewer drafts accepted).
?lookup=0 on Draft head only, no prompt lookup.
?densespec=0 on Dense models (Qwen3 0.6B / 1.7B / 4B) in a room decode one token per lap, no prompt-lookup drafts.
?draft=qwen3-0.6b off Experimental. The host also loads Qwen3 0.6B (about 0.7 GB more, outside the pledges) to draft for Qwen3 1.7B / 4B. Same tokens.
?draftk=N 4 Drafts per lap from ?draft=, 1 to 7.
?dspec=0 off Testing. This device reports it can’t take dense verify frames, like an older build; the host then uses plain laps.
?tail=0 on Old per-token tail after a prefill.
?mtpbatch=0 on One draft-cache row per submit.
?mtprefill=0 on Draft-cache refill as one submit per row.
?predraft=0 on No first draft in the refill pass.
?draftvocab=N 65536 Drafts over the first N vocabulary rows; 0 for the full head.
?dvauto=0 on Always the small draft head.
?draftchain=0 on Drafts, verify and head as separate submits.
?specfuse=0 on Verify as separate trunk and head submits.
?hostfuse=0 on Host’s share of each lap as separate submits.
?fuse=0 on Unfused attention and DeltaNet kernels.
?moefuse=0 on Unfused MoE kernels. Changes the MoE output bits: use the same setting on every device.
?moednrows=N 1 Rows per workgroup in the fused MoE down kernel (1, 2 or 4).
?gpusample=0 on Sample on the CPU instead of the GPU.
?argmaxwide=0 or 1 as gpusample Two-stage draft argmax.

Deno tests and benchmarks take the same switches in ROOM_FLAGS, for example ROOM_FLAGS="kv=q8". See Environment.