diff --git a/.clang-format b/.clang-format
index d43e884..28e3328 100644
--- a/.clang-format
+++ b/.clang-format
@@ -87,7 +87,7 @@
 IndentWrappedFunctionNames: true
 InsertNewlineAtEOF: true
 KeepEmptyLinesAtTheStartOfBlocks: false
-LambdaBodyIndentation: OuterScope
+LambdaBodyIndentation: Signature
 LineEnding: LF
 MacroBlockBegin: ''
 MacroBlockEnd:   ''
@@ -98,13 +98,14 @@
 ObjCSpaceBeforeProtocolList: true
 PackConstructorInitializers: BinPack
 PenaltyBreakAssignment: 25
-PenaltyBreakBeforeFirstCallParameter: 19
+PenaltyBreakBeforeFirstCallParameter: 50
 PenaltyBreakComment: 300
 PenaltyBreakFirstLessLess: 120
 PenaltyBreakString: 1000
+PenaltyBreakTemplateDeclaration: 10
 PenaltyExcessCharacter: 1000000
 PenaltyReturnTypeOnItsOwnLine: 60
-PenaltyIndentedWhitespace: 0
+PenaltyIndentedWhitespace: 1
 PointerAlignment: Left
 QualifierAlignment: Left
 ReferenceAlignment: Left
diff --git a/src/cmd.cpp b/src/cmd.cpp
index a3c9d3f..107b8a3 100644
--- a/src/cmd.cpp
+++ b/src/cmd.cpp
@@ -93,9 +93,9 @@
     m.append(netfn, lun, cmd, in.subspan(2), options);
     outstanding = m.call_async(
         stdplus::exception::ignore([&outstanding, &kcs](message_t&& m) {
-        outstanding = slot_t(nullptr);
-        write(kcs, std::move(m));
-    }));
+            outstanding = slot_t(nullptr);
+            write(kcs, std::move(m));
+        }));
 }
 
 } // namespace kcsbridge
diff --git a/src/main.cpp b/src/main.cpp
index 9d7d99e..c39354d 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -55,8 +55,9 @@
     // Add a reader to the bus for handling inbound IPMI
     IO ioSource(
         event, kcs.get(), EPOLLIN | EPOLLET,
-        stdplus::exception::ignore(
-            [&kcs, &bus, &slot](IO&, int, uint32_t) { read(kcs, bus, slot); }));
+        stdplus::exception::ignore([&kcs, &bus, &slot](IO&, int, uint32_t) {
+            read(kcs, bus, slot);
+        }));
 
     // Allow processes to affect the state machine
     std::string dbusChannel = channel;
diff --git a/src/server.cpp b/src/server.cpp
index 4ac4929..a3a1b47 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -63,9 +63,8 @@
     sdbusplus::vtable::end(),
 };
 
-sdbusplus::server::interface::interface createSMSHandler(sdbusplus::bus_t& bus,
-                                                         const char* obj,
-                                                         stdplus::Fd& kcs)
+sdbusplus::server::interface::interface createSMSHandler(
+    sdbusplus::bus_t& bus, const char* obj, stdplus::Fd& kcs)
 {
     return sdbusplus::server::interface::interface(
         bus, obj, "xyz.openbmc_project.Ipmi.Channel.SMS",
diff --git a/src/server.hpp b/src/server.hpp
index 1dfb084..bf1472f 100644
--- a/src/server.hpp
+++ b/src/server.hpp
@@ -6,8 +6,7 @@
 namespace kcsbridge
 {
 
-sdbusplus::server::interface::interface createSMSHandler(sdbusplus::bus_t& bus,
-                                                         const char* obj,
-                                                         stdplus::Fd& kcs);
+sdbusplus::server::interface::interface createSMSHandler(
+    sdbusplus::bus_t& bus, const char* obj, stdplus::Fd& kcs);
 
 }
