diff --git a/dockerimg/createdockerfile.go b/dockerimg/createdockerfile.go
index d76dc0b..53b9d82 100644
--- a/dockerimg/createdockerfile.go
+++ b/dockerimg/createdockerfile.go
@@ -176,7 +176,7 @@
 // It expects the relevant initFiles to have been provided.
 // If the sketch binary is being executed in a sub-directory of the repository,
 // the relative path is provided on subPathWorkingDir.
-func createDockerfile(ctx context.Context, srv llm.Service, initFiles map[string]string, subPathWorkingDir string) (string, error) {
+func createDockerfile(ctx context.Context, srv llm.Service, initFiles map[string]string, subPathWorkingDir string, verbose bool) (string, error) {
 	if subPathWorkingDir == "." {
 		subPathWorkingDir = ""
 	} else if subPathWorkingDir != "" && subPathWorkingDir[0] != '/' {
@@ -266,9 +266,16 @@
 	if res.StopReason != llm.StopReasonToolUse {
 		return "", fmt.Errorf("expected stop reason %q, got %q", llm.StopReasonToolUse, res.StopReason)
 	}
-	if _, err := convo.ToolResultContents(context.TODO(), res); err != nil {
+	_, err = convo.ToolResultContents(context.TODO(), res)
+	if err != nil {
 		return "", err
 	}
+
+	// Print the LLM response when verbose is enabled
+	if verbose && len(res.Content) > 0 && res.Content[0].Type == llm.ContentTypeText && res.Content[0].Text != "" {
+		fmt.Printf("\n<llm_response>\n%s\n</llm_response>\n\n", res.Content[0].Text)
+	}
+
 	if !toolCalled {
 		return "", fmt.Errorf("no dockerfile returned")
 	}
diff --git a/dockerimg/dockerimg.go b/dockerimg/dockerimg.go
index 461a760..279309f 100644
--- a/dockerimg/dockerimg.go
+++ b/dockerimg/dockerimg.go
@@ -705,7 +705,7 @@
 			APIKey: modelAPIKey,
 			HTTPC:  http.DefaultClient,
 		}
-		generatedDockerfile, err = createDockerfile(ctx, srv, initFiles, subPathWorkingDir)
+		generatedDockerfile, err = createDockerfile(ctx, srv, initFiles, subPathWorkingDir, verbose)
 		if err != nil {
 			return "", fmt.Errorf("create dockerfile: %w", err)
 		}
diff --git a/dockerimg/dockerimg_test.go b/dockerimg/dockerimg_test.go
index c48e96b..e69d9d7 100644
--- a/dockerimg/dockerimg_test.go
+++ b/dockerimg/dockerimg_test.go
@@ -94,7 +94,7 @@
 				APIKey: apiKey,
 				HTTPC:  rr.Client(),
 			}
-			result, err := createDockerfile(ctx, srv, initFiles, "")
+			result, err := createDockerfile(ctx, srv, initFiles, "", false)
 			if err != nil {
 				t.Fatal(err)
 			}
