diff --git a/dockerimg/dockerimg.go b/dockerimg/dockerimg.go
index 90e9d8f..292c8b6 100644
--- a/dockerimg/dockerimg.go
+++ b/dockerimg/dockerimg.go
@@ -177,7 +177,7 @@
 
 	// Create the sketch container
 	if err := createDockerContainer(ctx, cntrName, hostPort, relPath, imgName, config); err != nil {
-		return err
+		return fmt.Errorf("failed to create docker container: %w", err)
 	}
 
 	// Copy the sketch linux binary into the container
@@ -415,8 +415,6 @@
 }
 
 func createDockerContainer(ctx context.Context, cntrName, hostPort, relPath, imgName string, config ContainerConfig) error {
-	//, config.SessionID, config.GitUsername, config.GitEmail, config.SkabandAddr
-	// sessionID, gitUsername, gitEmail, skabandAddr string
 	cmdArgs := []string{
 		"create",
 		"-it",
@@ -424,6 +422,10 @@
 		"-p", hostPort + ":80", // forward container port 80 to a host port
 		"-e", "ANTHROPIC_API_KEY=" + config.AntAPIKey,
 	}
+
+	for _, envVar := range getEnvForwardingFromGitConfig(ctx) {
+		cmdArgs = append(cmdArgs, "-e", envVar)
+	}
 	if config.AntURL != "" {
 		cmdArgs = append(cmdArgs, "-e", "ANT_URL="+config.AntURL)
 	}
@@ -808,3 +810,27 @@
 
 	return os.Remove(src)
 }
+
+// getEnvForwardingFromGitConfig retrieves environment variables to pass through to Docker
+// from git config using the sketch.envfwd multi-valued key.
+func getEnvForwardingFromGitConfig(ctx context.Context) []string {
+	outb, err := exec.CommandContext(ctx, "git", "config", "--get-all", "sketch.envfwd").CombinedOutput()
+	out := string(outb)
+	if err != nil {
+		if strings.Contains(out, "key does not exist") {
+			return nil
+		}
+		slog.ErrorContext(ctx, "failed to get sketch.envfwd from git config", "err", err, "output", out)
+		return nil
+	}
+
+	var envVars []string
+	for envVar := range strings.Lines(out) {
+		envVar = strings.TrimSpace(envVar)
+		if envVar == "" {
+			continue
+		}
+		envVars = append(envVars, envVar+"="+os.Getenv(envVar))
+	}
+	return envVars
+}
