diff --git a/src/main/java/com/zhongan/devpilot/util/GatewayRequestUtils.java b/src/main/java/com/zhongan/devpilot/util/GatewayRequestUtils.java
index 6b5bfa1f..1b4a7b6e 100644
--- a/src/main/java/com/zhongan/devpilot/util/GatewayRequestUtils.java
+++ b/src/main/java/com/zhongan/devpilot/util/GatewayRequestUtils.java
@@ -62,11 +62,13 @@ public static String chatRequestJson(DevPilotChatCompletionRequest chatCompletio
                 }
 
                 // avoid immutable map
-                var promptData = new HashMap<>(devPilotMessage.getPromptData());
-                for (Map.Entry<String, String> entry : promptData.entrySet()) {
-                    entry.setValue(Base64Utils.base64Encoding(entry.getValue()));
+                if (devPilotMessage.getPromptData() != null) {
+                    var promptData = new HashMap<>(devPilotMessage.getPromptData());
+                    for (Map.Entry<String, String> entry : promptData.entrySet()) {
+                        entry.setValue(Base64Utils.base64Encoding(entry.getValue()));
+                    }
+                    devPilotMessage.setPromptData(promptData);
                 }
-                devPilotMessage.setPromptData(promptData);
             }
         }