diff --git CMakeLists.txt CMakeLists.txt
index 9a160f..d956fd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -167,10 +167,6 @@ function(gufo_stage_hip_runtime target)
   endif()
 endfunction()
 
-if (ENGINE_ENABLE_HIP)
-  add_subdirectory(src/models/deepseek_v4_flash)
-endif()
-
 # Qwen3.8-Flash-Next — model-private CPU reference plus ROCm runtime.
 add_subdirectory(src/models/qwen38_flash_next)
 
@@ -350,9 +346,6 @@ add_subdirectory(src/models/qwen)
 add_subdirectory(src/models/qwen_image_21)
 
 target_link_libraries(gufo_qwen3_tts PUBLIC gufo_core)
-if (ENGINE_ENABLE_HIP)
-  target_link_libraries(gufo_deepseek_v4_flash PUBLIC gufo_core)
-endif()
 
 find_package(OpenMP)
 if (OpenMP_CXX_FOUND)
@@ -388,21 +381,11 @@ add_library(gufo_llm_cli STATIC
   src/cli/bench/bench.cpp
   src/cli/prompt/prompt.cpp)
 target_link_libraries(gufo_llm_cli PUBLIC gufo_core gufo_qwen38_flash_next)
-if(ENGINE_ENABLE_HIP)
-  target_link_libraries(gufo_llm_cli PUBLIC gufo_deepseek_v4_flash)
-endif()
 
 add_library(gufo_logging STATIC src/cli/serve/logging.cpp src/cli/serve/trace.cpp)
 target_include_directories(gufo_logging PUBLIC ${PROJECT_SOURCE_DIR})
 target_compile_features(gufo_logging PUBLIC cxx_std_20)
 
-# The imported DeepSeek V4 Flash runtime routes its informational messages
-# through the shared logger instead of writing to stderr directly, so it needs
-# the threshold that `--log-level` arms.
-if (ENGINE_ENABLE_HIP)
-  target_link_libraries(gufo_deepseek_v4_flash PUBLIC gufo_logging)
-endif()
-
 add_library(gufo_http STATIC
   src/cli/serve/image_api.cpp
   src/cli/serve/audio_asr_api.cpp
@@ -450,7 +433,7 @@ target_compile_definitions(gufo PRIVATE
   GUFO_H3_INSTALLED_SOURCE_MANIFEST="${CMAKE_INSTALL_PREFIX}/share/gufo/models/minimax_h3/MINIMAX_H3_FL2VA_BF16.source-manifest.json")
 
 if (ENGINE_ENABLE_HIP)
-  target_link_libraries(gufo PRIVATE gufo_cache_hip gufo_deepseek_v4_flash)
+  target_link_libraries(gufo PRIVATE gufo_cache_hip)
 endif()
 target_link_libraries(gufo PRIVATE gufo_qwen3_tts gufo_qwen3_asr gufo_embedding_gemma2)
 
@@ -720,7 +703,6 @@ if (BUILD_TESTING)
       LABELS "cpu;kernels" TIMEOUT 120)
   endif()
 
-  add_subdirectory(tests/models/deepseek_v4_flash)
   add_subdirectory(tests/models/qwen38_flash_next)
 
   if(ENGINE_ENABLE_HIP)
diff --git src/cli/bench/bench.cpp src/cli/bench/bench.cpp
index 24f74f..c4a759 100644
--- a/src/cli/bench/bench.cpp
+++ b/src/cli/bench/bench.cpp
@@ -1313,7 +1313,8 @@ int RunBench(std::span<const char* const> args) {
     return 1;
   }
   if (IsDeepSeekV4Flash(*reader)) {
-    return RunDeepSeekBenchmark(opt, reader, model_load_start);
+    std::cerr << "Error: Deepseek V4 Flash support disabled\n";
+    return 1;
   }
   if (IsQwen38FlashNext(*reader)) {
     return RunQwen38FlashNextBenchmark(opt, reader, model_load_start);
diff --git src/cli/prompt/prompt.cpp src/cli/prompt/prompt.cpp
index 21c2e7..83de4e 100644
--- a/src/cli/prompt/prompt.cpp
+++ b/src/cli/prompt/prompt.cpp
@@ -1006,21 +1006,11 @@ int RunPrompt(std::span<const char* const> args) {
       std::move(reader_owner));
   ResolvePromptSampling(*reader, &opt);
 
-#if defined(ENGINE_ENABLE_HIP)
   if (IsDeepSeekV4Flash(*reader)) {
-    if (!opt.image_paths.empty() || !opt.vision_model_path.empty()) {
-      std::cerr << "DeepSeek does not support image input\n";
-      return 2;
-    }
-    return RunDeepSeekPrompt(opt, *reader, model_load_start);
-  }
-#else
-  if (IsDeepSeekV4Flash(*reader)) {
-    std::cerr << "DeepSeek V4 Flash requires ENGINE_ENABLE_HIP=ON\n";
+    std::cerr << "DeepSeek V4 Flash support disabled\n";
     PrintModelLoadTime(model_load_start, false);
     return 1;
   }
-#endif
 
   std::string rendered_prompt = opt.prompt_text;
   std::vector<tokenization::ContentSpan> content_spans;
@@ -1229,20 +1219,10 @@ int RunChat(std::span<const char* const> args) {
       std::move(reader_owner));
   ResolvePromptSampling(*reader, &opt);
 
-#if defined(ENGINE_ENABLE_HIP)
   if (IsDeepSeekV4Flash(*reader)) {
-    if (!opt.image_paths.empty() || !opt.vision_model_path.empty()) {
-      std::cerr << "DeepSeek does not support image input\n";
-      return 2;
-    }
-    return RunDeepSeekChat(opt, *reader, model_load_start);
-  }
-#else
-  if (IsDeepSeekV4Flash(*reader)) {
-    std::cerr << "DeepSeek V4 Flash requires ENGINE_ENABLE_HIP=ON\n";
+    std::cerr << "DeepSeek V4 Flash support disabled\n";
     return 1;
   }
-#endif
 
   const tokenization::QwenTokenizer* tokenizer = nullptr;
   std::string architecture;
diff --git src/cli/serve/inference_backend.cpp src/cli/serve/inference_backend.cpp
index b2fc7b..a6ed8b 100644
--- a/src/cli/serve/inference_backend.cpp
+++ b/src/cli/serve/inference_backend.cpp
@@ -3136,6 +3136,8 @@ bool InferenceBackend::load(const std::string& model_path, std::string* error,
   }
 
   if (reader->GetMetadataString("general.architecture") == "deepseek4") {
+    SetError(error, "DeepSeek V4 Flash support disabled");
+    return false;
     if (!vision_model_path.empty()) {
       SetError(error, "DeepSeek does not support --mmproj");
       return false;
