diff --git a/cmd/sketch/main.go b/cmd/sketch/main.go
index c35aa48..a419dfe 100644
--- a/cmd/sketch/main.go
+++ b/cmd/sketch/main.go
@@ -197,7 +197,6 @@
 			}
 		}
 
-		fmt.Printf("launching container...\n")
 		config := dockerimg.ContainerConfig{
 			SessionID:         *sessionID,
 			LocalAddr:         *addr,
diff --git a/dockerimg/dockerimg.go b/dockerimg/dockerimg.go
index ffb0dd7..22dfa45 100644
--- a/dockerimg/dockerimg.go
+++ b/dockerimg/dockerimg.go
@@ -196,7 +196,7 @@
 		return fmt.Errorf("docker cp: %s, %w", out, err)
 	}
 
-	fmt.Printf("starting container %s\ncommits made by the agent will be pushed to \033[1msketch/*\033[0m\n", cntrName)
+	fmt.Printf("starting container %s\n", cntrName)
 
 	// Start the sketch container
 	if out, err := combinedOutput(ctx, "docker", "start", cntrName); err != nil {
@@ -442,7 +442,7 @@
 		return "", fmt.Errorf("failed to run go list -m: %s: %v", out, err)
 	} else {
 		if strings.TrimSpace(string(out)) == "sketch.dev" {
-			fmt.Printf("building linux agent from currently checked out module\n")
+			slog.DebugContext(ctx, "built linux agent from currently checked out module")
 			verToInstall = ""
 		}
 	}
@@ -458,7 +458,6 @@
 		"GOBIN=",
 	)
 
-	fmt.Printf("building linux agent binary...\n")
 	out, err := cmd.CombinedOutput()
 	if err != nil {
 		slog.ErrorContext(ctx, "go", slog.Duration("elapsed", time.Now().Sub(start)), slog.String("err", err.Error()), slog.String("path", cmd.Path), slog.String("args", fmt.Sprintf("%v", skribe.Redact(cmd.Args))))
@@ -480,8 +479,6 @@
 		return "", err
 	}
 
-	fmt.Printf("built linux agent binary in %s\n", time.Since(start).Round(100*time.Millisecond))
-
 	return dst, nil
 }
 
@@ -585,7 +582,6 @@
 		}
 		fmt.Printf("using %s as dev env\n", candidates[0])
 		if hashInitFiles(map[string]string{dockerfilePath: string(contents)}) == curImgInitFilesHash && !forceRebuild {
-			fmt.Printf("using existing docker image %s\n", imgName)
 			return imgName, nil
 		}
 	} else {
@@ -599,7 +595,6 @@
 		}
 		initFileHash := hashInitFiles(initFiles)
 		if curImgInitFilesHash == initFileHash && !forceRebuild {
-			fmt.Printf("using existing docker image %s\n", imgName)
 			return imgName, nil
 		}
 
