diff --git a/hwc3/ComposerClient.cpp b/hwc3/ComposerClient.cpp
index f353abb..0736662 100644
--- a/hwc3/ComposerClient.cpp
+++ b/hwc3/ComposerClient.cpp
@@ -332,6 +332,9 @@
   if (command.brightness) {
     ExecuteSetLayerBrightness(display_id, layer_wrapper, *command.brightness);
   }
+  if (command.luts) {
+    ExecuteLayerCommandSetLayerLuts(display_id, layer_wrapper, *command.luts);
+  }
 
   // Some unsupported functionality returns kUnsupported, and others
   // are just a no-op.
@@ -1132,6 +1135,12 @@
   }
 }
 
+void ComposerClient::ExecuteLayerCommandSetLayerLuts(
+    int64_t /*display_id*/, HwcLayerWrapper& /*layer*/,
+    const std::vector<std::optional<Lut>>& /*luts*/) {
+  cmd_result_writer_->AddError(hwc3::Error::kUnsupported);
+}
+
 void ComposerClient::ExecuteSetDisplayBrightness(
     uint64_t display_id, const DisplayBrightness& command) {
   auto* display = GetDisplay(display_id);
diff --git a/hwc3/ComposerClient.h b/hwc3/ComposerClient.h
index f6362ad..41c011c 100644
--- a/hwc3/ComposerClient.h
+++ b/hwc3/ComposerClient.h
@@ -20,6 +20,7 @@
 
 #include "aidl/android/hardware/graphics/composer3/BnComposerClient.h"
 #include "aidl/android/hardware/graphics/composer3/LayerCommand.h"
+#include <aidl/android/hardware/graphics/composer3/Lut.h>
 #include "hwc3/CommandResultWriter.h"
 #include "hwc3/ComposerResources.h"
 #include "hwc3/Utils.h"
@@ -178,6 +179,8 @@
                              const ZOrder& z_order);
   void ExecuteSetLayerBrightness(int64_t display_id, HwcLayerWrapper& layer,
                                  const LayerBrightness& brightness);
+  void ExecuteLayerCommandSetLayerLuts(int64_t display_id, HwcLayerWrapper& layer,
+                                       const std::vector<std::optional<Lut>>& luts);
 
   // Display commands
   void ExecuteDisplayCommand(const DisplayCommand& command);
diff --git a/hwc3/hwc3-drm.xml b/hwc3/hwc3-drm.xml
index 911f7f8..7debcf9 100644
--- a/hwc3/hwc3-drm.xml
+++ b/hwc3/hwc3-drm.xml
@@ -1,7 +1,7 @@
 <manifest version="1.0" type="device">
     <hal format="aidl">
         <name>android.hardware.graphics.composer3</name>
-        <version>3</version>
+        <version>4</version>
         <interface>
             <name>IComposer</name>
             <instance>default</instance>
