Skip to main content
Operating system & services

System Updates

Detect missing operating system updates on Windows, Linux, and macOS and get alerted when too many matching updates are pending.

The System Updates check tells you whether a device has missing operating system updates. It reports counts and categories of missing patches and raises warnings and critical alerts based on your thresholds. The check runs on Windows, Linux, and macOS (x64 and ARM64 on each) every 6 hours by default. On Windows it uses the Windows Update API; on Linux it queries the native package manager (apt, dnf, yum, zypper, or pacman); on macOS it uses softwareupdate. The agent detects the operating system automatically, so no manual configuration is needed.

Steps

  1. Go to Devices and open the device.
  2. Click the Checks tab → Add Check → System Updates.
  3. Configure Warning threshold, Critical threshold, and, if needed, Count security updates only (Linux/macOS).
  4. Optional — click Show advanced options for the Windows-only settings Minimum update age (days, Windows), Severity filter (Windows), and Include optional / preview updates (Windows).
  5. Click Add Check.

Add Check dialog: System Updates, warning threshold 1, critical threshold 10, Count security updates only (Linux/macOS) and Show advanced options switched off

Settings

Both thresholds compare against the number of matching updates, not the raw pending count. On Windows an update matches when it passes the Severity filter and the Minimum update age. On Linux and macOS every pending update matches, unless Count security updates only is on — then only the security-relevant ones do.

FieldTypeRequiredDefaultDescription
Warning thresholdintegerNo1Warn when at least this many matching updates are pending
Critical thresholdintegerNo10Raise a critical alert when at least this many matching updates are pending
Count security updates only (Linux/macOS)booleanNofalseOn Linux/macOS, count only security-relevant updates (the security repository on Linux, recommended updates on macOS). No effect on Windows, which uses the Severity filter instead.
Severity filter (Windows)array (multi-select: Critical, Important, Moderate, Low)No["Critical", "Important"]Windows only: MSRC severities to include when counting pending updates. Updates whose severity is not in this list are ignored, unless Include optional / preview updates is enabled — optional updates carry no severity and are counted regardless of this filter. Leave empty to count all. Ignored on Linux/macOS. Gated behind Show advanced options.
Minimum update age (days, Windows)integerNo3Windows only: updates younger than this many days are ignored, letting newly released patches bake before they count toward the thresholds — this gives Microsoft time to pull a bad update. Linux/macOS updates carry no reliable per-update release date, so this has no effect there. Gated behind Show advanced options.
Include optional / preview updates (Windows)booleanNofalseWindows only: also count optional non-security updates such as monthly preview cumulative updates. These carry no MSRC severity, so they are counted regardless of the Severity filter. Optional driver updates stay excluded. No effect on Linux/macOS. Gated behind Show advanced options.

If the warning threshold is configured higher than the critical threshold, the check swaps the two values at runtime so the critical threshold remains the upper bound.

MSRC severities (Windows)

On Windows, pending updates are classified by their Microsoft Security Response Center (MSRC) severity, and the Severity filter field controls which severities are counted toward the thresholds. Linux and macOS do not expose MSRC severities — there the Count security updates only option governs which updates count instead.

SeverityMeaning
CriticalExploitation could allow code execution without user interaction
ImportantExploitation could compromise data confidentiality, integrity, or availability
ModerateImpact mitigated by default configuration, auditing, or difficulty of exploitation
LowImpact is comprehensively mitigated by characteristics of the affected component

Results

The check raises a warning or critical alert as soon as at least as many matching updates are pending as set in Warning threshold or Critical threshold. If the check cannot run at all — no supported package manager on Linux, softwareupdate unavailable on macOS, an unsupported platform, or unparseable tool output — it reports an Error result with a matching message instead of an update count.

Each run produces:

FieldDescription
platformDetected agent platform: windows, linux, or macos
pendingCountTotal number of pending updates reported by the platform's update source (before severity and age filtering)
criticalUpdateCountWindows: number of pending updates with MSRC severity Critical after the minimum-age filter
importantUpdateCountWindows: number of pending updates with MSRC severity Important after the minimum-age filter
securityUpdateCountLinux/macOS: number of security-relevant pending updates. On Windows this equals Critical + Important
updates[]Per-update detail, truncated to the first 20 entries. On Windows the list contains the updates that pass the severity and minimum-age filters, plus the optional/preview updates when Include optional / preview updates is enabled. On Linux and macOS it contains every pending update, whether or not Count security updates only is on. Each entry carries title, severity, and kbId (Windows only — Linux and macOS entries carry no KB number). severity holds the MSRC severity on Windows, Security or Update on Linux, and Recommended or Optional on macOS.

The check reports pending updates. Installing them is a patch policy's job — rollout is configured under Patch Management → Policies. A device's Updates tab lists its pending updates and, for each one, when a policy has it scheduled.

How updates are detected

PlatformTool usedWhat is checked
WindowsPowerShell script (powershell.exe) that instantiates the Windows Update COM API via New-Object -ComObject Microsoft.Update.SessionQueries the Windows Update agent. Searches the default configured update source (the WSUS server, if the device is attached to one) and additionally Windows Update, Microsoft Update and any other registered update services. Updates found more than once count only once. The result is valid as soon as at least one source could be searched
LinuxThe first available native package manager: apt, dnf, yum, zypper, or pacmanLists upgradable packages from the configured repositories. With Count security updates only enabled, only security-relevant updates are counted (security repository on apt, security advisories on dnf/yum, security patches on zypper). pacman (Arch) has no security classification, so this option counts zero updates there
macOSsoftwareupdate -lLists available macOS software updates. With Count security updates only enabled, only recommended updates are counted
  • On Windows the check uses the same update mechanism as the Windows Update settings panel.
  • If your organisation manages updates through WSUS (Windows Server Update Services), the check can still report updates your WSUS administrator has not approved: besides the WSUS server it also searches Windows Update and Microsoft Update, provided the device can reach them.
  • On Linux, the check does not refresh the package sources itself. apt, dnf and yum evaluate the most recently downloaded package lists or the local metadata cache. If these are not refreshed regularly, the check reports too few updates.

Update Catalog

Independently of the per-device check, octoja surfaces a fleet-wide view of every update under Patch Management → Update Catalog. The catalog covers Windows and macOS updates. Open an update from the catalog to see whether it is safe to roll out: the detail page shows its advisories, its block status, and the status of the update on every device in scope.

Advisories on an update

octoja merges advisory intelligence for each update so you can spot a problematic patch before it reaches your devices.

AdvisorySource
Known issuesIssues Microsoft has published for the update, each with a status such as Confirmed, Mitigated, Investigating, Workaround available, or Resolved
Community reportsProblem reports gathered from the wider community
Reported by other octoja usersA cross-tenant signal showing how many other octoja users have flagged or already blocked the update, so you benefit from the experience of the whole fleet

Block a problematic update

If an update is causing trouble, you can stop octoja from installing it anywhere. Open the update from the Update Catalog and click Block update — with an optional reason and an optional expiry date. Blocks are keyed by KB number, so the button appears on updates that carry one. Blocking and unblocking need the Patch Policy Management permission.

The block is tenant-global. It applies everywhere in your environment, not to a single patch policy. Once unblocked, the update becomes eligible for installation again according to your patch policies.

FieldDescription
Block update / Unblock updateAdds or removes a global block, keyed by the update's KB number
Reason (optional)Free-text note recorded with the block and shown wherever the block appears, including the device's Updates tab
Blocked until (optional)Date the block lifts by itself. Leave it empty and the update stays blocked until someone unblocks it; pick a date and the block ends at the end of that day
Blocked badgeShown in the catalog and on the detail page while the block is in force; the update is withheld from every device until the block is lifted or expires

Withdrawn updates

An update's detail page lists every device in scope together with the status of the update on that device. A macOS device shows Withdrawn when softwareupdate no longer offers the update at install time — Apple has pulled it, or a newer update has replaced it. The same status appears in the patch cycle results, where it counts as a non-failure, so a cycle that hits it still completes cleanly.

Tips

  • Start with the defaults (warning at 1, critical at 10) and adjust based on your environment.
  • Use a config package to assign the check to all devices at once, rather than configuring each device individually.
  • Review the Updates tab on the device detail page to see which specific updates are pending.
  • Before approving a widely affecting update, check the Update Catalog for known issues or a high Reported by other octoja users count.

FAQ

The update search exceeded the check's internal time limit, which is not configurable. Windows Update Agent Health reads history and policy information, not the same live scan, so it can succeed independently.

Check the configured update source and network access. If the timeout persists, send support the attempt time, agent logs and Windows Update event errors.

No. HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate_OctojaBackup preserves the original update policy for restoration. Its presence is not evidence of a failed search, and an address stored there does not establish which update server Windows currently uses.

Was this helpful?

Still need help? Ask the team