diff --git a/include-fd/stdplus/fd/fmt.hpp b/include-fd/stdplus/fd/fmt.hpp
index 73402a7..bc535b1 100644
--- a/include-fd/stdplus/fd/fmt.hpp
+++ b/include-fd/stdplus/fd/fmt.hpp
@@ -3,6 +3,7 @@
 
 #include <stdplus/fd/intf.hpp>
 #include <stdplus/str/buf.hpp>
+#include <stdplus/str/cat.hpp>
 
 #include <format>
 #include <functional>
@@ -47,6 +48,12 @@
         writeIfNeeded();
     }
 
+    inline void appends(const auto&... s)
+    {
+        strAppend(buf, s...);
+        writeIfNeeded();
+    }
+
     void flush();
 
   private:
diff --git a/test/fd/fmt.cpp b/test/fd/fmt.cpp
index 397fcae..bdac7a4 100644
--- a/test/fd/fmt.cpp
+++ b/test/fd/fmt.cpp
@@ -22,18 +22,17 @@
     auto fd = ManagedFd(CHECK_ERRNO(memfd_create("test", 0), "memfd_create"));
     {
         FormatBuffer buf(fd, 4096);
-        buf.append("hi\n");
-        buf.append("hi\n"sv);
+        buf.appends("hi\n", "hi\n"sv);
         EXPECT_EQ(0, fd.lseek(0, Whence::Cur));
         buf.flush();
 
         EXPECT_EQ(6, fd.lseek(0, Whence::Cur));
         buf.append(FMT_COMPILE("{}"), std::string(2050, 'a'));
         EXPECT_EQ(6, fd.lseek(0, Whence::Cur));
-        buf.append(FMT_COMPILE("{}"), std::string(2050, 'a'));
+        buf.append("{}", std::string(2050, 'a'));
         EXPECT_EQ(4106, fd.lseek(0, Whence::Cur));
 
-        buf.append("hi\n");
+        buf.appends("hi\n");
         EXPECT_EQ(4106, fd.lseek(0, Whence::Cur));
     }
     EXPECT_EQ(4109, fd.lseek(0, Whence::Cur));
