diff --git a/modules/lfs/http_client.go b/modules/lfs/http_client.go
index 3060e25754..50f0e7a8d8 100644
--- a/modules/lfs/http_client.go
+++ b/modules/lfs/http_client.go
@@ -236,6 +236,7 @@ func createRequest(ctx context.Context, method, url string, headers map[string]s
 		req.Header.Set(key, value)
 	}
 	req.Header.Set("Accept", AcceptHeader)
+	req.Header.Set("User-Agent", UserAgentHeader)
 
 	return req, nil
 }
diff --git a/modules/lfs/shared.go b/modules/lfs/shared.go
index a4326b57b2..40ad789c1d 100644
--- a/modules/lfs/shared.go
+++ b/modules/lfs/shared.go
@@ -15,7 +15,8 @@ const (
 	// MediaType contains the media type for LFS server requests
 	MediaType = "application/vnd.git-lfs+json"
 	// Some LFS servers offer content with other types, so fallback to '*/*' if application/vnd.git-lfs+json cannot be served
-	AcceptHeader = "application/vnd.git-lfs+json;q=0.9, */*;q=0.8"
+	AcceptHeader    = "application/vnd.git-lfs+json;q=0.9, */*;q=0.8"
+	UserAgentHeader = "git-lfs"
 )
 
 // BatchRequest contains multiple requests processed in one batch operation.