Name and Version
root@pc2:~# /opt/llama.cpp/bin/llama-server --version
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 24079 MiB):
Device 0: NVIDIA GeForce RTX 4090, compute capability 8.9, VMM: yes, VRAM: 24079 MiB
version: 8931 (9725a313b)
built with GNU 15.2.0 for Linux x86_64
root@pc2:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 26.04 LTS"
NAME="Ubuntu"
VERSION_ID="26.04"
VERSION="26.04 (Resolute Raccoon)"
VERSION_CODENAME=resolute
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=resolute
LOGO=ubuntu-logo
Operating systems
Linux
Which llama.cpp modules do you know to be affected?
llama-server
Command line
/opt/llama.cpp/bin/llama-server \
--host 127.0.0.1 \
--port 8080 \
--models-preset /etc/llama.cpp/models.ini \
--models-max 1 \
--models-autoload \
--api-key-file /etc/llama.cpp/api_keys \
--metrics
Problem description & steps to reproduce
When running llama-server in router mode with --models-preset, an extra model with id default appears in GET /models, even though there is no [default] section in the preset file and no model is specified on the command line.
According to the documentation, each section in the INI file defines a new preset. In my case, the INI file contains only two model sections, but the server reports three custom presets and exposes a third default model.
Preset file
/etc/llama.cpp/models.ini:
version = 1
[qwen3.6-27b]
model = /srv/llama.cpp/models/unsloth/Qwen3.6-27B-GGUF/Qwen3.6-27B-UD-Q4_K_XL.gguf
mmproj = /srv/llama.cpp/models/unsloth/Qwen3.6-27B-GGUF/mmproj-BF16.gguf
ctx-size = 122880
ubatch-size = 1024
batch-size = 122880
n-cpu-moe = 0
n-gpu-layers = 999
temp = 0.6
top-p = 0.95
top-k = 20
min-p = 0.00
repeat-penalty = 1.0
presence-penalty = 0.0
split-mode = none
main-gpu = 0
image-min-tokens = 1024
image-max-tokens = 2048
parallel = 1
flash-attn = on
cache-type-k = q8_0
cache-type-v = q8_0
chat-template-kwargs = {"enable_thinking":true}
load-on-startup = true
stop-timeout = 10
[qwen3-asr-1.7b]
model = /srv/llama.cpp/models/ggml-org/Qwen3-ASR-1.7B-GGUF/Qwen3-ASR-1.7B-bf16.gguf
mmproj = /srv/llama.cpp/models/ggml-org/Qwen3-ASR-1.7B-GGUF/mmproj-Qwen3-ASR-1.7B-bf16.gguf
ctx-size = 65536
ubatch-size = 2048
batch-size = 65536
n-cpu-moe = 0
n-gpu-layers = 999
split-mode = none
main-gpu = 0
parallel = 1
load-on-startup = false
stop-timeout = 10
Steps to reproduce
- Create a model preset file with two model sections and no
[default] section, as shown above.
- Start
llama-server in router mode:
/opt/llama.cpp/bin/llama-server \
--host 127.0.0.1 \
--port 8080 \
--models-preset /etc/llama.cpp/models.ini \
--models-max 1 \
--models-autoload \
--api-key-file /etc/llama.cpp/api_keys \
--metrics
- Query the models endpoint:
curl http://127.0.0.1:8080/models
Expected behavior
Only the two models explicitly defined in the preset file should be listed:
qwen3-asr-1.7b
qwen3.6-27b
The startup log should also report 2 custom model presets loaded from /etc/llama.cpp/models.ini.
Actual behavior
The server reports 3 custom model presets and exposes an unexpected third model named default
{
"data": [
{
"id": "default",
"aliases": [],
"tags": [],
"object": "model",
"owned_by": "llamacpp",
"created": 1777137717,
"status": {
"value": "unloaded",
"args": [
"/opt/llama.cpp/bin/llama-server",
"--api-key-file",
"/etc/llama.cpp/api_keys",
"--host",
"127.0.0.1",
"--metrics",
"--port",
"0",
"--alias",
"default"
],
"preset": "[default]\napi-key-file = /etc/llama.cpp/api_keys\nmetrics = 1\n\n"
}
},
{
"id": "qwen3-asr-1.7b",
"aliases": [],
"tags": [],
"object": "model",
"owned_by": "llamacpp",
"created": 1777137717,
"status": {
"value": "unloaded",
"args": [
"/opt/llama.cpp/bin/llama-server",
"--api-key-file",
"/etc/llama.cpp/api_keys",
"--host",
"127.0.0.1",
"--metrics",
"--port",
"0",
"--alias",
"qwen3-asr-1.7b",
"--batch-size",
"65536",
"--ctx-size",
"65536",
"--model",
"/srv/llama.cpp/models/ggml-org/Qwen3-ASR-1.7B-GGUF/Qwen3-ASR-1.7B-bf16.gguf",
"--main-gpu",
"0",
"--mmproj",
"/srv/llama.cpp/models/ggml-org/Qwen3-ASR-1.7B-GGUF/mmproj-Qwen3-ASR-1.7B-bf16.gguf",
"--n-cpu-moe",
"0",
"--n-gpu-layers",
"999",
"--parallel",
"1",
"--split-mode",
"none",
"--ubatch-size",
"2048"
],
"preset": "[qwen3-asr-1.7b]\napi-key-file = /etc/llama.cpp/api_keys\nmetrics = 1\nbatch-size = 65536\nctx-size = 65536\nmodel = /srv/llama.cpp/models/ggml-org/Qwen3-ASR-1.7B-GGUF/Qwen3-ASR-1.7B-bf16.gguf\nmain-gpu = 0\nmmproj = /srv/llama.cpp/models/ggml-org/Qwen3-ASR-1.7B-GGUF/mmproj-Qwen3-ASR-1.7B-bf16.gguf\nn-cpu-moe = 0\nn-gpu-layers = 999\nparallel = 1\nsplit-mode = none\nubatch-size = 2048\nload-on-startup = false\nstop-timeout = 10\n\n"
}
},
{
"id": "qwen3.6-27b",
"aliases": [],
"tags": [],
"object": "model",
"owned_by": "llamacpp",
"created": 1777137717,
"status": {
"value": "loaded",
"args": [
"/opt/llama.cpp/bin/llama-server",
"--api-key-file",
"/etc/llama.cpp/api_keys",
"--chat-template-kwargs",
"{\"enable_thinking\":true}",
"--host",
"127.0.0.1",
"--image-max-tokens",
"2048",
"--image-min-tokens",
"1024",
"--metrics",
"--min-p",
"0.00",
"--port",
"53891",
"--presence-penalty",
"0.0",
"--repeat-penalty",
"1.0",
"--temperature",
"0.6",
"--top-k",
"20",
"--top-p",
"0.95",
"--alias",
"qwen3.6-27b",
"--batch-size",
"122880",
"--ctx-size",
"122880",
"--cache-type-k",
"q8_0",
"--cache-type-v",
"q8_0",
"--flash-attn",
"on",
"--model",
"/srv/llama.cpp/models/unsloth/Qwen3.6-27B-GGUF/Qwen3.6-27B-UD-Q4_K_XL.gguf",
"--main-gpu",
"0",
"--mmproj",
"/srv/llama.cpp/models/unsloth/Qwen3.6-27B-GGUF/mmproj-BF16.gguf",
"--n-cpu-moe",
"0",
"--n-gpu-layers",
"999",
"--parallel",
"1",
"--split-mode",
"none",
"--ubatch-size",
"1024"
],
"preset": "[qwen3.6-27b]\napi-key-file = /etc/llama.cpp/api_keys\nchat-template-kwargs = {\"enable_thinking\":true}\nimage-max-tokens = 2048\nimage-min-tokens = 1024\nmetrics = 1\nmin-p = 0.00\npresence-penalty = 0.0\nrepeat-penalty = 1.0\ntemperature = 0.6\ntop-k = 20\ntop-p = 0.95\nbatch-size = 122880\nctx-size = 122880\ncache-type-k = q8_0\ncache-type-v = q8_0\nflash-attn = on\nmodel = /srv/llama.cpp/models/unsloth/Qwen3.6-27B-GGUF/Qwen3.6-27B-UD-Q4_K_XL.gguf\nmain-gpu = 0\nmmproj = /srv/llama.cpp/models/unsloth/Qwen3.6-27B-GGUF/mmproj-BF16.gguf\nn-cpu-moe = 0\nn-gpu-layers = 999\nparallel = 1\nsplit-mode = none\nubatch-size = 1024\nload-on-startup = true\nstop-timeout = 10\n\n"
}
}
],
"object": "list"
}
The unexpected default entry is not defined in the INI file and does not have a model path.
This is confusing for clients that use GET /models to discover available models, because the endpoint returns a model that was never configured and cannot be used as a real preset.
First Bad Commit
No response
Relevant log output
Startup log
Logs
root@pc2:~# /opt/llama.cpp/bin/llama-server --host 127.0.0.1 --port 8080 --models-preset /etc/llama.cpp/models.ini --models-max 1 --models-autoload --api-key-file /etc/llama.cpp/api_keys --metrics
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 24079 MiB):
Device 0: NVIDIA GeForce RTX 4090, compute capability 8.9, VMM: yes, VRAM: 24079 MiB
main: n_parallel is set to auto, using n_parallel = 4 and kv_unified = true
build_info: b8931-9725a313b
system_info: n_threads = 16 (n_threads_batch = 16) / 32 | CUDA : ARCHS = 890 | USE_GRAPHS = 1 | PEER_MAX_BATCH_SIZE = 128 | CPU : SSE3 = 1 | SSSE3 = 1 | AVX = 1 | AVX2 = 1 | F16C = 1 | FMA = 1 | BMI2 = 1 | AVX512 = 1 | AVX512_VBMI = 1 | AVX512_VNNI = 1 | AVX512_BF16 = 1 | LLAMAFILE = 1 | OPENMP = 1 | REPACK = 1 |
Running without SSL
init: api_keys: ****42a8
init: using 31 threads for HTTP server
srv load_models: Loaded 0 cached model presets
srv load_models: Loaded 3 custom model presets from /etc/llama.cpp/models.ini
srv load_models: Available models (3) (*: custom preset)
srv load_models: * default
srv load_models: * qwen3-asr-1.7b
srv load_models: * qwen3.6-27b
srv load_models: (startup) loading model qwen3.6-27b
srv load: spawning server instance with name=qwen3.6-27b on port 53891
...
Name and Version
Operating systems
Linux
Which llama.cpp modules do you know to be affected?
llama-server
Command line
Problem description & steps to reproduce
When running
llama-serverin router mode with--models-preset, an extra model with iddefaultappears inGET /models, even though there is no[default]section in the preset file and no model is specified on the command line.According to the documentation, each section in the INI file defines a new preset. In my case, the INI file contains only two model sections, but the server reports three custom presets and exposes a third
defaultmodel.Preset file
/etc/llama.cpp/models.ini:Steps to reproduce
[default]section, as shown above.llama-serverin router mode:Expected behavior
Only the two models explicitly defined in the preset file should be listed:
qwen3-asr-1.7bqwen3.6-27bThe startup log should also report 2 custom model presets loaded from
/etc/llama.cpp/models.ini.Actual behavior
The server reports 3 custom model presets and exposes an unexpected third model named
default{ "data": [ { "id": "default", "aliases": [], "tags": [], "object": "model", "owned_by": "llamacpp", "created": 1777137717, "status": { "value": "unloaded", "args": [ "/opt/llama.cpp/bin/llama-server", "--api-key-file", "/etc/llama.cpp/api_keys", "--host", "127.0.0.1", "--metrics", "--port", "0", "--alias", "default" ], "preset": "[default]\napi-key-file = /etc/llama.cpp/api_keys\nmetrics = 1\n\n" } }, { "id": "qwen3-asr-1.7b", "aliases": [], "tags": [], "object": "model", "owned_by": "llamacpp", "created": 1777137717, "status": { "value": "unloaded", "args": [ "/opt/llama.cpp/bin/llama-server", "--api-key-file", "/etc/llama.cpp/api_keys", "--host", "127.0.0.1", "--metrics", "--port", "0", "--alias", "qwen3-asr-1.7b", "--batch-size", "65536", "--ctx-size", "65536", "--model", "/srv/llama.cpp/models/ggml-org/Qwen3-ASR-1.7B-GGUF/Qwen3-ASR-1.7B-bf16.gguf", "--main-gpu", "0", "--mmproj", "/srv/llama.cpp/models/ggml-org/Qwen3-ASR-1.7B-GGUF/mmproj-Qwen3-ASR-1.7B-bf16.gguf", "--n-cpu-moe", "0", "--n-gpu-layers", "999", "--parallel", "1", "--split-mode", "none", "--ubatch-size", "2048" ], "preset": "[qwen3-asr-1.7b]\napi-key-file = /etc/llama.cpp/api_keys\nmetrics = 1\nbatch-size = 65536\nctx-size = 65536\nmodel = /srv/llama.cpp/models/ggml-org/Qwen3-ASR-1.7B-GGUF/Qwen3-ASR-1.7B-bf16.gguf\nmain-gpu = 0\nmmproj = /srv/llama.cpp/models/ggml-org/Qwen3-ASR-1.7B-GGUF/mmproj-Qwen3-ASR-1.7B-bf16.gguf\nn-cpu-moe = 0\nn-gpu-layers = 999\nparallel = 1\nsplit-mode = none\nubatch-size = 2048\nload-on-startup = false\nstop-timeout = 10\n\n" } }, { "id": "qwen3.6-27b", "aliases": [], "tags": [], "object": "model", "owned_by": "llamacpp", "created": 1777137717, "status": { "value": "loaded", "args": [ "/opt/llama.cpp/bin/llama-server", "--api-key-file", "/etc/llama.cpp/api_keys", "--chat-template-kwargs", "{\"enable_thinking\":true}", "--host", "127.0.0.1", "--image-max-tokens", "2048", "--image-min-tokens", "1024", "--metrics", "--min-p", "0.00", "--port", "53891", "--presence-penalty", "0.0", "--repeat-penalty", "1.0", "--temperature", "0.6", "--top-k", "20", "--top-p", "0.95", "--alias", "qwen3.6-27b", "--batch-size", "122880", "--ctx-size", "122880", "--cache-type-k", "q8_0", "--cache-type-v", "q8_0", "--flash-attn", "on", "--model", "/srv/llama.cpp/models/unsloth/Qwen3.6-27B-GGUF/Qwen3.6-27B-UD-Q4_K_XL.gguf", "--main-gpu", "0", "--mmproj", "/srv/llama.cpp/models/unsloth/Qwen3.6-27B-GGUF/mmproj-BF16.gguf", "--n-cpu-moe", "0", "--n-gpu-layers", "999", "--parallel", "1", "--split-mode", "none", "--ubatch-size", "1024" ], "preset": "[qwen3.6-27b]\napi-key-file = /etc/llama.cpp/api_keys\nchat-template-kwargs = {\"enable_thinking\":true}\nimage-max-tokens = 2048\nimage-min-tokens = 1024\nmetrics = 1\nmin-p = 0.00\npresence-penalty = 0.0\nrepeat-penalty = 1.0\ntemperature = 0.6\ntop-k = 20\ntop-p = 0.95\nbatch-size = 122880\nctx-size = 122880\ncache-type-k = q8_0\ncache-type-v = q8_0\nflash-attn = on\nmodel = /srv/llama.cpp/models/unsloth/Qwen3.6-27B-GGUF/Qwen3.6-27B-UD-Q4_K_XL.gguf\nmain-gpu = 0\nmmproj = /srv/llama.cpp/models/unsloth/Qwen3.6-27B-GGUF/mmproj-BF16.gguf\nn-cpu-moe = 0\nn-gpu-layers = 999\nparallel = 1\nsplit-mode = none\nubatch-size = 1024\nload-on-startup = true\nstop-timeout = 10\n\n" } } ], "object": "list" }The unexpected default entry is not defined in the INI file and does not have a model path.
This is confusing for clients that use
GET /modelsto discover available models, because the endpoint returns a model that was never configured and cannot be used as a real preset.First Bad Commit
No response
Relevant log output
Startup log
Logs