diff --git a/cmd/sketch/main.go b/cmd/sketch/main.go
index 2936bf9..4a18e51 100644
--- a/cmd/sketch/main.go
+++ b/cmd/sketch/main.go
@@ -6,7 +6,6 @@
 	"flag"
 	"fmt"
 	"log/slog"
-	"math/rand/v2"
 	"net"
 	"net/http"
 	"os"
@@ -21,7 +20,6 @@
 	"sketch.dev/llm/gem"
 	"sketch.dev/llm/oai"
 
-	"github.com/richardlehane/crock32"
 	"sketch.dev/browser"
 	"sketch.dev/dockerimg"
 	"sketch.dev/httprr"
@@ -202,7 +200,7 @@
 	// Flags geared towards sketch developers or sketch internals:
 	flag.StringVar(&flags.gitUsername, "git-username", "", "(internal) username for git commits")
 	flag.StringVar(&flags.gitEmail, "git-email", "", "(internal) email for git commits")
-	flag.StringVar(&flags.sessionID, "session-id", newSessionID(), "(internal) unique session-id for a sketch process")
+	flag.StringVar(&flags.sessionID, "session-id", skabandclient.NewSessionID(), "(internal) unique session-id for a sketch process")
 	flag.BoolVar(&flags.record, "httprecord", true, "(debugging) Record trace (if httprr is set)")
 	flag.BoolVar(&flags.noCleanup, "nocleanup", false, "(debugging) do not clean up docker containers on exit")
 	flag.StringVar(&flags.containerLogDest, "save-container-logs", "", "(debugging) host path to save container logs to on exit")
@@ -568,16 +566,6 @@
 	return slogHandler, logFile, nil
 }
 
-// newSessionID generates a new 10-byte random Session ID.
-func newSessionID() string {
-	u1, u2 := rand.Uint64(), rand.Uint64N(1<<16)
-	s := crock32.Encode(u1) + crock32.Encode(uint64(u2))
-	if len(s) < 16 {
-		s += strings.Repeat("0", 16-len(s))
-	}
-	return s[0:4] + "-" + s[4:8] + "-" + s[8:12] + "-" + s[12:16]
-}
-
 func getHostname() string {
 	hostname, err := os.Hostname()
 	if err != nil {
diff --git a/skabandclient/skabandclient.go b/skabandclient/skabandclient.go
index cea4fbe..39efb52 100644
--- a/skabandclient/skabandclient.go
+++ b/skabandclient/skabandclient.go
@@ -14,6 +14,7 @@
 	"fmt"
 	"io"
 	"log/slog"
+	"math/rand/v2"
 	"net"
 	"net/http"
 	"net/url"
@@ -23,6 +24,7 @@
 	"sync/atomic"
 	"time"
 
+	"github.com/richardlehane/crock32"
 	"golang.org/x/net/http2"
 )
 
@@ -264,3 +266,13 @@
 	}
 	return skabandURL, nil
 }
+
+// NewSessionID generates a new 10-byte random Session ID.
+func NewSessionID() string {
+	u1, u2 := rand.Uint64(), rand.Uint64N(1<<16)
+	s := crock32.Encode(u1) + crock32.Encode(uint64(u2))
+	if len(s) < 16 {
+		s += strings.Repeat("0", 16-len(s))
+	}
+	return s[0:4] + "-" + s[4:8] + "-" + s[8:12] + "-" + s[12:16]
+}
