Versions:
- DEVONthink 4.3.2 Pro Edition
- lllama.cpp 0.42.0
I had been using this setup for a few months, but recently it has stopped working and I cannot figure out why. When I set the AI provider settings, the Model list will not load.
I know the endpoint is working because I can reach it from the command line:
❯ curl -s http://localhost:9931/models | jq
{
"data": [
{
"id": "ggml-org/Qwen2.5-Coder-1.5B-Instruct-Q8_0-GGUF:Q8_0",
"aliases": [],
"tags": [],
"object": "model",
"owned_by": "llamacpp",
"created": 1789794791,
"status": {
"value": "unloaded",
"args": [
"/Users/sop/.llama-app/llama",
"serve",
"--host",
"127.0.0.1",
"--jinja",
"--log-file",
"/tmp/llama-server.log",
"--port",
"0",
"--sleep-idle-seconds",
"900",
"--spec-default",
"--alias",
"ggml-org/Qwen2.5-Coder-1.5B-Instruct-Q8_0-GGUF:Q8_0",
"--ctx-size",
"4096",
"--fit-target",
"1024",
"--model",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen2.5-Coder-1.5B-Instruct-Q8_0-GGUF/snapshots/9a02a57656dad824ae12a0a2d625d85e9646cc84/qwen2.5-coder-1.5b-instruct-q8_0.gguf",
"--ubatch-size",
"2048"
],
"preset": "[ggml-org/Qwen2.5-Coder-1.5B-Instruct-Q8_0-GGUF:Q8_0]\njinja = 1\nlog-file = /tmp/llama-server.log\nsleep-idle-seconds = 900\nspec-default = 1\nctx-size = 4096\nfit-target = 1024\nmodel = /Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen2.5-Coder-1.5B-Instruct-Q8_0-GGUF/snapshots/9a02a57656dad824ae12a0a2d625d85e9646cc84/qwen2.5-coder-1.5b-instruct-q8_0.gguf\nubatch-size = 2048\n\n"
},
"architecture": {
"input_modalities": [
"text"
],
"output_modalities": [
"text"
]
},
"source": "preset",
"can_remove": false
},
{
"id": "ggml-org/Qwen2.5-Coder-1.5B-Q8_0-GGUF:Q8_0",
"aliases": [],
"tags": [],
"object": "model",
"owned_by": "llamacpp",
"created": 1789794791,
"status": {
"value": "unloaded",
"args": [
"/Users/sop/.llama-app/llama",
"serve",
"--host",
"127.0.0.1",
"--jinja",
"--log-file",
"/tmp/llama-server.log",
"--port",
"0",
"--sleep-idle-seconds",
"900",
"--spec-default",
"--alias",
"ggml-org/Qwen2.5-Coder-1.5B-Q8_0-GGUF:Q8_0",
"--ctx-size",
"4096",
"--fit-target",
"1024",
"--model",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen2.5-Coder-1.5B-Q8_0-GGUF/snapshots/8be1b8a895a84beea772817caaa71eba6b6e0d07/qwen2.5-coder-1.5b-q8_0.gguf",
"--ubatch-size",
"2048"
],
"preset": "[ggml-org/Qwen2.5-Coder-1.5B-Q8_0-GGUF:Q8_0]\njinja = 1\nlog-file = /tmp/llama-server.log\nsleep-idle-seconds = 900\nspec-default = 1\nctx-size = 4096\nfit-target = 1024\nmodel = /Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen2.5-Coder-1.5B-Q8_0-GGUF/snapshots/8be1b8a895a84beea772817caaa71eba6b6e0d07/qwen2.5-coder-1.5b-q8_0.gguf\nubatch-size = 2048\n\n"
},
"architecture": {
"input_modalities": [
"text"
],
"output_modalities": [
"text"
]
},
"source": "preset",
"can_remove": false
},
{
"id": "ggml-org/Qwen2.5-Coder-3B-Instruct-Q8_0-GGUF:Q8_0",
"aliases": [],
"tags": [],
"object": "model",
"owned_by": "llamacpp",
"created": 1789794791,
"status": {
"value": "unloaded",
"args": [
"/Users/sop/.llama-app/llama",
"serve",
"--host",
"127.0.0.1",
"--jinja",
"--log-file",
"/tmp/llama-server.log",
"--port",
"0",
"--sleep-idle-seconds",
"900",
"--spec-default",
"--alias",
"ggml-org/Qwen2.5-Coder-3B-Instruct-Q8_0-GGUF:Q8_0",
"--ctx-size",
"32768",
"--fit-target",
"1024",
"--model",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen2.5-Coder-3B-Instruct-Q8_0-GGUF/snapshots/4944a3e9ecbaacda76873e9577d038400413772c/qwen2.5-coder-3b-instruct-q8_0.gguf",
"--ubatch-size",
"2048"
],
"preset": "[ggml-org/Qwen2.5-Coder-3B-Instruct-Q8_0-GGUF:Q8_0]\njinja = 1\nlog-file = /tmp/llama-server.log\nsleep-idle-seconds = 900\nspec-default = 1\nctx-size = 32768\nfit-target = 1024\nmodel = /Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen2.5-Coder-3B-Instruct-Q8_0-GGUF/snapshots/4944a3e9ecbaacda76873e9577d038400413772c/qwen2.5-coder-3b-instruct-q8_0.gguf\nubatch-size = 2048\n\n"
},
"architecture": {
"input_modalities": [
"text"
],
"output_modalities": [
"text"
]
},
"source": "preset",
"can_remove": false
},
{
"id": "ggml-org/Qwen2.5-Coder-3B-Q8_0-GGUF:Q8_0",
"aliases": [],
"tags": [],
"object": "model",
"owned_by": "llamacpp",
"created": 1789794791,
"status": {
"value": "unloaded",
"args": [
"/Users/sop/.llama-app/llama",
"serve",
"--host",
"127.0.0.1",
"--jinja",
"--log-file",
"/tmp/llama-server.log",
"--port",
"0",
"--sleep-idle-seconds",
"900",
"--spec-default",
"--alias",
"ggml-org/Qwen2.5-Coder-3B-Q8_0-GGUF:Q8_0",
"--ctx-size",
"4096",
"--fit-target",
"1024",
"--model",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen2.5-Coder-3B-Q8_0-GGUF/snapshots/9c1de162ae417c9c3aacde97c729c4128de047d8/qwen2.5-coder-3b-q8_0.gguf",
"--ubatch-size",
"2048"
],
"preset": "[ggml-org/Qwen2.5-Coder-3B-Q8_0-GGUF:Q8_0]\njinja = 1\nlog-file = /tmp/llama-server.log\nsleep-idle-seconds = 900\nspec-default = 1\nctx-size = 4096\nfit-target = 1024\nmodel = /Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen2.5-Coder-3B-Q8_0-GGUF/snapshots/9c1de162ae417c9c3aacde97c729c4128de047d8/qwen2.5-coder-3b-q8_0.gguf\nubatch-size = 2048\n\n"
},
"architecture": {
"input_modalities": [
"text"
],
"output_modalities": [
"text"
]
},
"source": "preset",
"can_remove": false
},
{
"id": "ggml-org/Qwen3.8-27B-GGUF:Q8_0",
"aliases": [],
"tags": [],
"object": "model",
"owned_by": "llamacpp",
"created": 1789794791,
"status": {
"value": "unloaded",
"args": [
"/Users/sop/.llama-app/llama",
"serve",
"--host",
"127.0.0.1",
"--jinja",
"--log-file",
"/tmp/llama-server.log",
"--port",
"0",
"--sleep-idle-seconds",
"900",
"--spec-default",
"--model-draft",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen3.8-27B-GGUF/snapshots/0669b98607d47046c7c2b3f801011d54a08cfccf/mtp-Qwen3.8-27B-Q8_0.gguf",
"--spec-draft-n-max",
"3",
"--spec-type",
"draft-mtp",
"--alias",
"ggml-org/Qwen3.8-27B-GGUF:Q8_0",
"--ctx-size",
"32768",
"--fit-target",
"1024",
"--model",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen3.8-27B-GGUF/snapshots/0669b98607d47046c7c2b3f801011d54a08cfccf/Qwen3.8-27B-Q8_0.gguf",
"--mmproj",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen3.8-27B-GGUF/snapshots/0669b98607d47046c7c2b3f801011d54a08cfccf/mmproj-Qwen3.8-27B-Q8_0.gguf",
"--ubatch-size",
"2048"
],
"preset": "[ggml-org/Qwen3.8-27B-GGUF:Q8_0]\njinja = 1\nlog-file = /tmp/llama-server.log\nsleep-idle-seconds = 900\nspec-default = 1\nmodel-draft = /Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen3.8-27B-GGUF/snapshots/0669b98607d47046c7c2b3f801011d54a08cfccf/mtp-Qwen3.8-27B-Q8_0.gguf\nspec-draft-n-max = 3\nspec-type = draft-mtp\nctx-size = 32768\nfit-target = 1024\nmodel = /Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen3.8-27B-GGUF/snapshots/0669b98607d47046c7c2b3f801011d54a08cfccf/Qwen3.8-27B-Q8_0.gguf\nmmproj = /Users/sop/.cache/huggingface/hub/models--ggml-org--Qwen3.8-27B-GGUF/snapshots/0669b98607d47046c7c2b3f801011d54a08cfccf/mmproj-Qwen3.8-27B-Q8_0.gguf\nubatch-size = 2048\n\n"
},
"architecture": {
"input_modalities": [
"text",
"image"
],
"output_modalities": [
"text"
]
},
"source": "preset",
"can_remove": false
},
{
"id": "ggml-org/gemma-4-12B-it-GGUF:Q8_0",
"aliases": [],
"tags": [],
"object": "model",
"owned_by": "llamacpp",
"created": 1789794791,
"status": {
"value": "loaded",
"args": [
"/Users/sop/.llama-app/llama",
"serve",
"--host",
"127.0.0.1",
"--jinja",
"--log-file",
"/tmp/llama-server.log",
"--port",
"64962",
"--sleep-idle-seconds",
"900",
"--spec-default",
"--model-draft",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--gemma-4-12B-it-GGUF/snapshots/7e0fbb8205d1f4857f4606a38a65023aaeb5f544/mtp-gemma-4-12B-it-Q8_0.gguf",
"--spec-draft-n-max",
"3",
"--spec-type",
"draft-mtp",
"--alias",
"ggml-org/gemma-4-12B-it-GGUF:Q8_0",
"--ctx-size",
"131072",
"--fit-target",
"1024",
"--model",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--gemma-4-12B-it-GGUF/snapshots/7e0fbb8205d1f4857f4606a38a65023aaeb5f544/gemma-4-12B-it-Q8_0.gguf",
"--mmproj",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--gemma-4-12B-it-GGUF/snapshots/7e0fbb8205d1f4857f4606a38a65023aaeb5f544/mmproj-gemma-4-12B-it-Q8_0.gguf",
"--ubatch-size",
"2048"
],
"preset": "[ggml-org/gemma-4-12B-it-GGUF:Q8_0]\njinja = 1\nlog-file = /tmp/llama-server.log\nsleep-idle-seconds = 900\nspec-default = 1\nmodel-draft = /Users/sop/.cache/huggingface/hub/models--ggml-org--gemma-4-12B-it-GGUF/snapshots/7e0fbb8205d1f4857f4606a38a65023aaeb5f544/mtp-gemma-4-12B-it-Q8_0.gguf\nspec-draft-n-max = 3\nspec-type = draft-mtp\nctx-size = 131072\nfit-target = 1024\nmodel = /Users/sop/.cache/huggingface/hub/models--ggml-org--gemma-4-12B-it-GGUF/snapshots/7e0fbb8205d1f4857f4606a38a65023aaeb5f544/gemma-4-12B-it-Q8_0.gguf\nmmproj = /Users/sop/.cache/huggingface/hub/models--ggml-org--gemma-4-12B-it-GGUF/snapshots/7e0fbb8205d1f4857f4606a38a65023aaeb5f544/mmproj-gemma-4-12B-it-Q8_0.gguf\nubatch-size = 2048\n\n"
},
"architecture": {
"input_modalities": [
"text",
"image",
"audio"
],
"output_modalities": [
"text"
]
},
"source": "preset",
"can_remove": false,
"meta": {
"vocab_type": true,
"n_vocab": 262144,
"n_ctx": 131072,
"n_ctx_train": 262144,
"n_embd": 3840,
"n_params": 11907350576,
"size": 12653822144,
"ftype": "Q8_0"
}
},
{
"id": "ggml-org/gemma-4-26B-A4B-it-GGUF:Q8_0",
"aliases": [],
"tags": [],
"object": "model",
"owned_by": "llamacpp",
"created": 1789794791,
"status": {
"value": "unloaded",
"args": [
"/Users/sop/.llama-app/llama",
"serve",
"--host",
"127.0.0.1",
"--jinja",
"--log-file",
"/tmp/llama-server.log",
"--port",
"0",
"--sleep-idle-seconds",
"900",
"--spec-default",
"--model-draft",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--gemma-4-26B-A4B-it-GGUF/snapshots/bb4531cda34d1ea09d9814959ed4d5833cf2a4c8/mtp-gemma-4-26B-A4B-it-Q8_0.gguf",
"--spec-draft-n-max",
"3",
"--spec-type",
"draft-mtp",
"--alias",
"ggml-org/gemma-4-26B-A4B-it-GGUF:Q8_0",
"--ctx-size",
"65536",
"--fit-target",
"1024",
"--model",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--gemma-4-26B-A4B-it-GGUF/snapshots/bb4531cda34d1ea09d9814959ed4d5833cf2a4c8/gemma-4-26B-A4B-it-Q8_0.gguf",
"--mmproj",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--gemma-4-26B-A4B-it-GGUF/snapshots/bb4531cda34d1ea09d9814959ed4d5833cf2a4c8/mmproj-gemma-4-26B-A4B-it-Q8_0.gguf",
"--ubatch-size",
"2048"
],
"preset": "[ggml-org/gemma-4-26B-A4B-it-GGUF:Q8_0]\njinja = 1\nlog-file = /tmp/llama-server.log\nsleep-idle-seconds = 900\nspec-default = 1\nmodel-draft = /Users/sop/.cache/huggingface/hub/models--ggml-org--gemma-4-26B-A4B-it-GGUF/snapshots/bb4531cda34d1ea09d9814959ed4d5833cf2a4c8/mtp-gemma-4-26B-A4B-it-Q8_0.gguf\nspec-draft-n-max = 3\nspec-type = draft-mtp\nctx-size = 65536\nfit-target = 1024\nmodel = /Users/sop/.cache/huggingface/hub/models--ggml-org--gemma-4-26B-A4B-it-GGUF/snapshots/bb4531cda34d1ea09d9814959ed4d5833cf2a4c8/gemma-4-26B-A4B-it-Q8_0.gguf\nmmproj = /Users/sop/.cache/huggingface/hub/models--ggml-org--gemma-4-26B-A4B-it-GGUF/snapshots/bb4531cda34d1ea09d9814959ed4d5833cf2a4c8/mmproj-gemma-4-26B-A4B-it-Q8_0.gguf\nubatch-size = 2048\n\n"
},
"architecture": {
"input_modalities": [
"text",
"image"
],
"output_modalities": [
"text"
]
},
"source": "preset",
"can_remove": false
},
{
"id": "ggml-org/gpt-oss-20b-GGUF:MXFP4",
"aliases": [],
"tags": [],
"object": "model",
"owned_by": "llamacpp",
"created": 1789794791,
"status": {
"value": "unloaded",
"args": [
"/Users/sop/.llama-app/llama",
"serve",
"--host",
"127.0.0.1",
"--jinja",
"--log-file",
"/tmp/llama-server.log",
"--port",
"0",
"--sleep-idle-seconds",
"900",
"--spec-default",
"--alias",
"ggml-org/gpt-oss-20b-GGUF:MXFP4",
"--ctx-size",
"131072",
"--fit-target",
"1024",
"--model",
"/Users/sop/.cache/huggingface/hub/models--ggml-org--gpt-oss-20b-GGUF/snapshots/ef9b12f2ff56c69cf32153a02784e7a3c88bf524/gpt-oss-20b-MXFP4.gguf",
"--ubatch-size",
"2048"
],
"preset": "[ggml-org/gpt-oss-20b-GGUF:MXFP4]\njinja = 1\nlog-file = /tmp/llama-server.log\nsleep-idle-seconds = 900\nspec-default = 1\nctx-size = 131072\nfit-target = 1024\nmodel = /Users/sop/.cache/huggingface/hub/models--ggml-org--gpt-oss-20b-GGUF/snapshots/ef9b12f2ff56c69cf32153a02784e7a3c88bf524/gpt-oss-20b-MXFP4.gguf\nubatch-size = 2048\n\n"
},
"architecture": {
"input_modalities": [
"text"
],
"output_modalities": [
"text"
]
},
"source": "preset",
"can_remove": false
}
],
"object": "list"
}
In ~/Library/Application Support/DEVONthink/Chat.log I see these messages:
Loading of models failed: Invalid HTTP status 404
(it seems like 1 line like that for each model).
How can I troubleshoot this? I can’t see what request DEVONthink is trying to make when getting this HTTP 404 status response.

