Brave Software › Brave › Relaunch
Set the time period for update notifications
Supported on Microsoft Windows 7 or later
What it does
Allows you to set the time period, in milliseconds, over which users are notified that Brave must be relaunched or that a Google Chrome OS device must be restarted to apply a pending update. Over this time period, the user will be repeatedly informed of the need for an update. For Google Chrome OS devices, a restart notification appears in the system tray according to the RelaunchHeadsUpPeriod policy. For Brave browsers, the app menu changes to indicate that a relaunch is needed once one third of the notification period passes. This notification changes color once two thirds of the notification period passes, and again once the full notification period has passed. The additional notifications enabled by the RelaunchNotification policy follow this same schedule. If not set, the default period of 604800000 milliseconds (one week) is used.
What it writes
- Hive
- HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
- Registry key
Software\Policies\BraveSoftware\Brave
Options
| Option | Type | Registry value | Allowed values |
|---|---|---|---|
| Time period (milliseconds) | Number | RelaunchNotificationPeriod |
3600000 to 2000000000 |
Configure and deploy
Choose a state and the option values; the output below is generated from the template for exactly that.
Enabled · Computer · template defaults
Registry file (.reg)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Policies\BraveSoftware\Brave]
"RelaunchNotificationPeriod"=dword:0036EE80
PowerShell
$ErrorActionPreference = 'Stop'
function Set-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $PropertyType,
[Parameter(Mandatory = $true)][object] $Value
)
if (-not (Test-Path -LiteralPath $Path)) {
New-Item -Path $Path -Force | Out-Null
}
New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}
function Remove-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (Test-Path -LiteralPath $Path) {
Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
}
}
function Clear-RegistryKeyValues {
param(
[Parameter(Mandatory = $true)][string] $Path
)
if (-not (Test-Path -LiteralPath $Path)) {
return
}
foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
}
}
# Policy: Set the time period for update notifications
# Name: RelaunchNotificationPeriod
# Scope: Machine
# State: Enabled
# Source: brave.admx
Set-RegistryValue -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\BraveSoftware\Brave' -Name 'RelaunchNotificationPeriod' -PropertyType 'DWord' -Value 3600000
- The OMA-URI is an inferred ADMX-backed Policy CSP candidate derived from the source ADMX file name and policy name.
- Some Microsoft policies use built-in Policy CSP pages whose area names don't match the ADMX file name, so verify the candidate against Microsoft Learn before deployment.
- Option values are the template defaults, or sample values chosen from each option's type where the template has none; set your own values before deploying.
ADMX profile candidate (OMA-URI)
./Device/Vendor/MSFT/Policy/Config/ADMX_brave/RelaunchNotificationPeriodADMX SyncML candidate
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Replace>
<CmdID>1</CmdID>
<Item>
<Meta>
<Format>chr</Format>
<Type>text/plain</Type>
</Meta>
<Target>
<LocURI>./Device/Vendor/MSFT/Policy/Config/ADMX_brave/RelaunchNotificationPeriod</LocURI>
</Target>
<Data><enabled/>
<data id="RelaunchNotificationPeriod" value="3600000"/></Data>
</Item>
</Replace>
<Final/>
</SyncBody>
</SyncML>Intune remediation scripts
Detection
$ErrorActionPreference = 'Stop'
$reasons = [System.Collections.Generic.List[string]]::new()
function Test-RegistryValueExists {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (-not (Test-Path -LiteralPath $Path)) {
return $false
}
return $null -ne (Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue)
}
function Test-RegistryValueEquals {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $Kind,
[Parameter(Mandatory = $true)][object] $Expected
)
if (-not (Test-Path -LiteralPath $Path)) {
return $false
}
$valueObject = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue
if ($null -eq $valueObject) {
return $false
}
$actual = $valueObject.$Name
switch ($Kind) {
'String' { return [string]$actual -ceq [string]$Expected }
'ExpandString' { return [string]$actual -ceq [string]$Expected }
'DWord' { return [uint32]$actual -eq [uint32]$Expected }
'QWord' { return [uint64]$actual -eq [uint64]$Expected }
'MultiString' {
$actualArray = @($actual)
$expectedArray = @($Expected)
if ($actualArray.Count -ne $expectedArray.Count) { return $false }
for ($index = 0; $index -lt $actualArray.Count; $index++) {
if ([string]$actualArray[$index] -cne [string]$expectedArray[$index]) { return $false }
}
return $true
}
'Binary' {
$actualArray = [byte[]]$actual
$expectedArray = [byte[]]$Expected
if ($actualArray.Length -ne $expectedArray.Length) { return $false }
for ($index = 0; $index -lt $actualArray.Length; $index++) {
if ($actualArray[$index] -ne $expectedArray[$index]) { return $false }
}
return $true
}
default { return [string]$actual -ceq [string]$Expected }
}
}
# Policy: Set the time period for update notifications
# Name: RelaunchNotificationPeriod
# Scope: Machine
# State: Enabled
# Source: brave.admx
$isMatch = Test-RegistryValueEquals -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\BraveSoftware\Brave' -Name 'RelaunchNotificationPeriod' -Kind 'DWord' -Expected 3600000
if (-not $isMatch) {
$reasons.Add('Value mismatch: HKEY_LOCAL_MACHINE\Software\Policies\BraveSoftware\Brave\RelaunchNotificationPeriod') | Out-Null
}
if ($reasons.Count -eq 0) {
Write-Output 'Compliant'
exit 0
}
$reasons | ForEach-Object { Write-Output $_ }
exit 1
Remediation
$ErrorActionPreference = 'Stop'
function Set-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $PropertyType,
[Parameter(Mandatory = $true)][object] $Value
)
if (-not (Test-Path -LiteralPath $Path)) {
New-Item -Path $Path -Force | Out-Null
}
New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}
function Remove-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (Test-Path -LiteralPath $Path) {
Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
}
}
function Clear-RegistryKeyValues {
param(
[Parameter(Mandatory = $true)][string] $Path
)
if (-not (Test-Path -LiteralPath $Path)) {
return
}
foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
}
}
# Policy: Set the time period for update notifications
# Name: RelaunchNotificationPeriod
# Scope: Machine
# State: Enabled
# Source: brave.admx
Set-RegistryValue -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\BraveSoftware\Brave' -Name 'RelaunchNotificationPeriod' -PropertyType 'DWord' -Value 3600000
History 44 retained releases
- 1.96.5924 Sep 2026
- Moved Brave Software\Brave[added: \Relaunch]
- 1.88.13214 Mar 2026
- Already present in the first release ChangeIntel keeps.
42 later releases left it unchanged.
Template
- Internal name
RelaunchNotificationPeriod- Namespace
BraveSoftware.Policies.Brave- Template file
brave.admx- Release
- Brave Browser 1.97.59 · file set
d6401efd8c1937d9…
Definition, editor controls and support
Definition
<policy class="Both" displayName="$(string.RelaunchNotificationPeriod)" explainText="$(string.RelaunchNotificationPeriod_Explain)" key="Software\Policies\BraveSoftware\Brave" name="RelaunchNotificationPeriod" presentation="$(presentation.RelaunchNotificationPeriod)" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="BraveSoftware.Policies.Brave:Relaunch" />
<supportedOn ref="BraveSoftware.Policies.Brave:SUPPORTED_WIN7" />
<elements>
<decimal id="RelaunchNotificationPeriod" maxValue="2000000000" minValue="3600000" valueName="RelaunchNotificationPeriod" />
</elements>
</policy>Editor controls
<presentation id="RelaunchNotificationPeriod" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions"><decimalTextBox refId="RelaunchNotificationPeriod">Time period (milliseconds):</decimalTextBox></presentation>Supported platforms and category
BraveSoftware.Policies.Brave:category:Cat_Brave
<category displayName="$(string.Cat_Brave)" name="Cat_Brave" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
BraveSoftware.Policies.Brave:category:Relaunch
<category displayName="$(string.Relaunch_group)" name="Relaunch" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="BraveSoftware.Policies.Brave:brave" />
</category>
BraveSoftware.Policies.Brave:category:brave
<category displayName="$(string.brave)" name="brave" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="BraveSoftware.Policies.Brave:Cat_Brave" />
</category>
BraveSoftware.Policies.Brave:definition:SUPPORTED_WIN7
<definition displayName="$(string.SUPPORTED_WIN7)" name="SUPPORTED_WIN7" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
BraveSoftware.Policies.Brave:category:Cat_Brave
<category displayName="$(string.Cat_Brave)" name="Cat_Brave" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="BraveSoftware.Policies.Brave:Cat_Brave">Brave Software</string></strings>
BraveSoftware.Policies.Brave:category:Relaunch
<category displayName="$(string.Relaunch_group)" name="Relaunch" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="BraveSoftware.Policies.Brave:brave" />
</category>
<strings><string id="BraveSoftware.Policies.Brave:Relaunch_group">Relaunch</string></strings>
BraveSoftware.Policies.Brave:category:brave
<category displayName="$(string.brave)" name="brave" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="BraveSoftware.Policies.Brave:Cat_Brave" />
</category>
<strings><string id="BraveSoftware.Policies.Brave:brave">Brave</string></strings>
BraveSoftware.Policies.Brave:definition:SUPPORTED_WIN7
<definition displayName="$(string.SUPPORTED_WIN7)" name="SUPPORTED_WIN7" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="BraveSoftware.Policies.Brave:SUPPORTED_WIN7">Microsoft Windows 7 or later</string></strings>