diff --git a/server/api/[server]/oauth/[origin].ts b/server/api/[server]/oauth/[origin].ts
index 6dd98c89..8ac9288a 100644
--- a/server/api/[server]/oauth/[origin].ts
+++ b/server/api/[server]/oauth/[origin].ts
@@ -1,6 +1,6 @@
 import { stringifyQuery } from 'ufo'
 
-import { APP_NAME } from '~/constants'
+import { defaultUserAgent } from '~/server/utils/shared'
 
 export default defineEventHandler(async (event) => {
   let { server, origin } = getRouterParams(event)
@@ -27,7 +27,7 @@ export default defineEventHandler(async (event) => {
     const result: any = await $fetch(`https://${server}/oauth/token`, {
       method: 'POST',
       headers: {
-        'user-agent': APP_NAME,
+        'user-agent': defaultUserAgent,
       },
       body: {
         client_id: app.client_id,
diff --git a/server/utils/shared.ts b/server/utils/shared.ts
index ecb9060c..8a769b47 100644
--- a/server/utils/shared.ts
+++ b/server/utils/shared.ts
@@ -14,6 +14,7 @@ import { driver } from '#storage-config'
 
 import type { AppInfo } from '~/types'
 import { APP_NAME } from '~/constants'
+import { version } from '~/config/env'
 
 const storage = useStorage<AppInfo>()
 
@@ -38,11 +39,13 @@ export function getRedirectURI(origin: string, server: string) {
   return `${origin}/api/${server}/oauth/${encodeURIComponent(origin)}`
 }
 
+export const defaultUserAgent = `${APP_NAME}/${version}`
+
 async function fetchAppInfo(origin: string, server: string) {
   const app: AppInfo = await $fetch(`https://${server}/api/v1/apps`, {
     method: 'POST',
     headers: {
-      'user-agent': APP_NAME,
+      'user-agent': defaultUserAgent,
     },
     body: {
       client_name: APP_NAME + (env !== 'release' ? ` (${env})` : ''),