diff --git a/SoraV2Utils_Agent/Program.cs b/SoraV2Utils_Agent/Program.cs
index 5777d82..8938e16 100644
--- a/SoraV2Utils_Agent/Program.cs
+++ b/SoraV2Utils_Agent/Program.cs
@@ -19,12 +19,14 @@ namespace SoraV2Utils_Agent
             server.RegisterService<IToastNotification>(new NotificationSender());
             server.Start();
 
+            UpdateCheck.CheckUpdate(); //Check for Updates based on Git Releases
+
             var serviceMonitor = new ServiceMonitor("SoraV2Utils_Service");
             serviceMonitor.ServiceStopped += (sender, e) =>
             {
                 server.Stop();
                 System.Environment.Exit(1);
-            };;
+            }; ;
 
             var trayicon = new TrayIcon();
             trayicon.Display();
diff --git a/SoraV2Utils_Agent/SoraV2Utils_Agent.csproj b/SoraV2Utils_Agent/SoraV2Utils_Agent.csproj
index 7661867..39eca60 100644
--- a/SoraV2Utils_Agent/SoraV2Utils_Agent.csproj
+++ b/SoraV2Utils_Agent/SoraV2Utils_Agent.csproj
@@ -86,6 +86,7 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="ServiceMonitor.cs" />
     <Compile Include="TrayIcon.cs" />
+    <Compile Include="UpdateCheck.cs" />
   </ItemGroup>
   <ItemGroup>
     <None Include="App.config" />
@@ -94,6 +95,9 @@
     <PackageReference Include="EasyPipes">
       <Version>1.3.0</Version>
     </PackageReference>
+    <PackageReference Include="Newtonsoft.Json">
+      <Version>13.0.3</Version>
+    </PackageReference>
   </ItemGroup>
   <ItemGroup>
     <BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
diff --git a/SoraV2Utils_Agent/TrayIcon.cs b/SoraV2Utils_Agent/TrayIcon.cs
index 891c9cd..925ec65 100644
--- a/SoraV2Utils_Agent/TrayIcon.cs
+++ b/SoraV2Utils_Agent/TrayIcon.cs
@@ -29,9 +29,8 @@ namespace SoraV2Utils_Agent
                 batteryLevelItem.Enabled = false;
                 batteryRuntimeItem.Enabled = false;
 
-
-                // Add an exit menu item
                 contextMenu.MenuItems.Add("Exit", (sender, e) => ServiceIPC.Instance.Exit());
+                contextMenu.MenuItems.Add("Check for Update ", (sender, e) => UpdateCheck.CheckUpdate());
 
                 contextMenu.MenuItems.Add(batteryLevelItem);
                 contextMenu.MenuItems.Add(batteryRuntimeItem);
@@ -54,6 +53,7 @@ namespace SoraV2Utils_Agent
                         // Update the context menu items
                         batteryLevelItem.Text = batteryLevelText;
                         batteryRuntimeItem.Text = $"Battery Runtime: {batteryRuntimeText}";
+                        batteryRuntimeItem.Text = $"Battery Runtime: {batteryRuntimeText}";
                         
                         // Update every second
                         Thread.Sleep(1000);
diff --git a/SoraV2Utils_Agent/UpdateCheck.cs b/SoraV2Utils_Agent/UpdateCheck.cs
new file mode 100644
index 0000000..0c81d56
--- /dev/null
+++ b/SoraV2Utils_Agent/UpdateCheck.cs
@@ -0,0 +1,62 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net.Http;
+using System.Runtime.CompilerServices;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using System.Xml.Linq;
+using Newtonsoft.Json.Linq;
+    
+namespace SoraV2Utils_Agent
+{
+    public class UpdateCheck
+    {
+        private static string GetLatestReleaseTag()
+        {
+            using (var client = new HttpClient())
+            {
+                var url = $"https://git.jan.sx/api/v1/repos/krjan02/SoraV2Utils/releases/latest";
+                var response = client.GetStringAsync(url).Result;
+                var json = JObject.Parse(response);
+                return json["tag_name"].ToString();
+             }
+        }
+
+        private static string GetCurrentVersion() 
+        {
+            System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
+            System.Diagnostics.FileVersionInfo fvi = System.Diagnostics.FileVersionInfo.GetVersionInfo(assembly.Location);
+            return fvi.FileVersion;
+        }
+
+        private static bool IsVersionLower(string currentVersion, string releaseVersion)
+        {
+            Version current = Version.Parse(currentVersion);
+            Version release = Version.Parse(releaseVersion);
+
+            return current.CompareTo(release) < 0;
+        }
+
+        public static void CheckUpdate()
+        {
+            var CurrentVersion = GetCurrentVersion();
+            var LatestVersion = GetLatestReleaseTag();
+
+            if (IsVersionLower(CurrentVersion, LatestVersion))
+            {
+                DialogResult dialogResult = MessageBox.Show("" +
+                    String.Format("Version {0} is available. You are running {1}" +
+                    "\nDo you want to Update now?", LatestVersion, CurrentVersion),
+                    "SoraV2 Utils Updater", MessageBoxButtons.YesNo);
+                if (dialogResult == DialogResult.Yes)
+                {
+                    System.Diagnostics.Process.Start("https://git.jan.sx/krjan02/SoraV2Utils/releases/latest");
+                    ServiceIPC.Instance.Exit(); //Stop the Service and the Agent
+                }
+            }
+        }
+    }
+
+}