diff --git a/llm/llm.go b/llm/llm.go
index 2c1011e..638a6a3 100644
--- a/llm/llm.go
+++ b/llm/llm.go
@@ -7,6 +7,8 @@
 	"fmt"
 	"log/slog"
 	"net/http"
+	"os"
+	"path/filepath"
 	"strconv"
 	"strings"
 	"time"
@@ -294,3 +296,30 @@
 func ErrorfToolOut(format string, args ...any) ToolOut {
 	return ErrorToolOut(fmt.Errorf(format, args...))
 }
+
+// DumpToFile writes LLM communication content to a timestamped file in ~/.cache/sketch/.
+// For requests, it includes the URL followed by the content. For responses, it only includes the content.
+// The typ parameter is used as a prefix in the filename ("request", "response").
+func DumpToFile(typ string, url string, content []byte) error {
+	homeDir, err := os.UserHomeDir()
+	if err != nil {
+		return err
+	}
+	cacheDir := filepath.Join(homeDir, ".cache", "sketch")
+	err = os.MkdirAll(cacheDir, 0o700)
+	if err != nil {
+		return err
+	}
+	now := time.Now()
+	filename := fmt.Sprintf("%s_%d.txt", typ, now.UnixMilli())
+	filePath := filepath.Join(cacheDir, filename)
+
+	// For requests, start with the URL; for responses, just write the content
+	data := []byte(url)
+	if url != "" {
+		data = append(data, "\n\n"...)
+	}
+	data = append(data, content...)
+
+	return os.WriteFile(filePath, data, 0o600)
+}
