- Published on
On June 1, Apple shipped macOS Tahoe 26.5.1. If your fleet runs Nudge, there's a decent chance that week involved at least one confused message from a user staring at a countdown for an update their Mac insists doesn't exist. You weren't imagining it, and you weren't alone — we heard the same thing from several environments, and saw it firsthand in our own.
What Made 26.5.1 Different
26.5.1 wasn't a typical point release. Apple built it to resolve a narrow hardware problem: certain M5 Macs could unexpectedly shut down while using content-filtering network extensions — the kind of VPN, DLP, or security-suite tooling that's common on managed, enterprise fleets. No general bug fixes, no security patches, nothing for the rest of the fleet to actually use. Just one fix, for one chip generation, under one specific condition.
That's a genuinely unusual shape for a macOS update. It's also not a total surprise in hindsight — Apple had already quietly patched a similar M5-and-content-filtering conflict affecting 802.1X Wi-Fi authentication earlier in the spring, and 26.5 itself, the release just before this one, had already carried a handful of narrow, enterprise-specific fixes of its own (a black-screen-after-update issue, unexpected restarts on certain MacBook models mounting SMB shares). 26.5.1 continued a pattern rather than starting one: as Apple's silicon lineup fragments across more chip generations, we should expect more fixes this narrowly scoped, not fewer.
Why "Sporadic" Broke the Usual Assumptions
Apple's own framing was straightforward: 26.5.1 was made available to Tahoe-compatible Macs broadly, Intel included, rather than restricted to some narrow, chip-specific delivery mechanism. In practice, what showed up on individual machines didn't match that framing cleanly. Plenty of Mac admins spent release day comparing notes — some watched the update appear on M1 and M2 Macs within hours, others had M4 machines that didn't see it at all, and there wasn't an obvious pattern by chip generation, region, or enrollment type that anyone could pin down. In our own environment, availability was genuinely sporadic: some machines were offered 26.5.1 immediately, plenty weren't offered it for days, and a number of non-M5 Macs saw it appear anyway.
That inconsistency is the whole story here. A fleet-wide enforcement tool built on the assumption that "the update exists" and "this specific device can install it right now" are the same fact is going to have a bad week whenever that assumption breaks — and 26.5.1 broke it about as thoroughly as we've seen.
The Nudge Mismatch, and Why It Wasn't Entirely New
Here's the mechanism, as best we can piece together from Nudge's own issue tracker: modern Nudge deployments decide whether to nudge a user at all by comparing the installed OS build against SOFA — the community-maintained feed that tracks Apple's releases — rather than by asking that specific Mac's own Software Update mechanism whether the release is actually being offered to it right now. The moment SOFA recorded 26.5.1 as current, every enrolled Mac running an older build became a candidate for a nudge, regardless of whether Apple's servers had actually made 26.5.1 available to that particular machine yet.
For most of a fleet, that's invisible — the update is there, the user clicks through, done. For everyone else, Nudge presented a hard requirement pointing at System Settings > Software Update, and Software Update had nothing to offer. Users got annoyed at being told to install something they couldn't find. Admins scrambled — pausing Nudge for the affected machines, or turning it off for 26.5.1 fleet-wide until availability caught up.
This wasn't the first time a mismatch like this has shown up, either. Back in March, Mac admins flagged a related issue on Nudge's GitHub tracker: specific M5 MacBook Pro units were being nudged for an update they'd already installed, with the days-remaining counter reportedly showing an absurd negative number, traced back to a mismatch between the SOFA feed and what that particular hardware variant actually needed. An earlier report from last fall described users clicking "Update Device" on a Nudge prompt for a major upgrade and getting no update options at all. Nudge's maintainers have been actively hardening around cases like these — recent releases include changes specifically aimed at handling SOFA feed and device-matching edge cases — but a hardware-fragmented, narrowly-targeted release like 26.5.1 sits close to a worst case for any tool whose trigger is "what does a general feed say is latest," rather than "what does this specific machine's own Software Update actually offer."
How Proximos Closes the Gap
This is exactly the failure mode Proximos's software update gate was built to catch. Before Proximos ever surfaces a Nudge prompt, it runs its own softwareupdate --list check locally, on the device itself, confirming that Apple's software update service is actually offering that release to this specific Mac, right now — not just that a feed somewhere considers it the current version. If the update isn't genuinely available yet, Proximos holds off on the prompt entirely, rather than pointing a user toward a Software Update pane with nothing in it.
That's a meaningfully different check than Nudge already performs elsewhere in its own workflow — Nudge does shell out to softwareupdate --list in certain minor-update download flows, but that happens after the decision to nudge has already been made and the prompt is already on someone's screen. Proximos's gate runs earlier, before anything is shown to the user at all, which is precisely the point in the process where 26.5.1 caused problems.
The Takeaway
- 26.5.1 wasn't a fluke. It's part of a pattern of increasingly narrow, hardware-specific fixes that comes with a more fragmented Apple silicon lineup — expect more releases shaped like this one, not fewer.
- "Latest version" and "available to this device" are different questions. Tools that only answer the first one will occasionally nudge someone toward an update that isn't really there.
- A local availability gate is built for exactly this category of mismatch. We can't promise every future hardware-targeted release will behave identically to this one, but a device-level softwareupdate --list check catches the specific gap that made 26.5.1 painful, whatever chip generation causes the next one.
- Enforcement and visibility go together. Even with the gate in place, it's worth tracking how many devices sit in a "not yet offered" state after a targeted release like this — that's useful signal on its own, and it's the same "configured isn't confirmed" idea we've written about before when it comes to pairing Proximos with DDM.
If your team spent the first week of June fielding the same confused tickets we did, you're not alone — and it's exactly the kind of gap we'd be glad to help you close.
- Published on
Every few months, someone asks us a version of the same question: "Apple already builds patch enforcement into every modern MDM — so why do we need anything else?"
It's a fair question, and the honest answer is: for a lot of your fleet, you don't. Apple's Declarative Device Management (DDM) framework is genuinely well-engineered, and for the share of Macs where people respond to a prompt within a day or two, DDM alone gets the job done. The problem is the rest of the fleet — the shared lab Mac, the laptop that's been closed since Tuesday, the contractor's machine that never quite got enrolled the way everyone assumed, the user who has learned exactly how long they can ignore a restart before anything actually happens. That's the part DDM was never going to solve by itself, and it's exactly where Proximos comes in.
This isn't an either/or story. Below, we'll cover what DDM does well, where it runs into real-world friction, four ways we see Proximos and DDM configured to work together, and why "we configured enforcement" and "we can prove every Mac is patched" turn out to be two different claims.
The stakes here are a little higher than they used to be, too. Mac and iPhone fleets keep growing inside organizations that historically ran Windows-first, and recent industry analysis puts a majority of large enterprises squarely in "expanding our Apple footprint" mode. At the same time, Apple has been retiring the older, command-based MDM workflows a lot of admins grew up on — at WWDC 2025, Apple confirmed that legacy, imperative software-update commands are being phased out during 2026 in favor of DDM. More Macs, and fewer paths to managing them the old way, means most IT teams don't get to opt out of building a real DDM strategy. The real question is what you pair it with.
What DDM Actually Does
DDM changes how your MDM and your Macs talk to each other. Under the older, imperative model, your MDM issues a one-off command — install this update, right now — and hopes the Mac happens to be in a state to comply at that exact moment. DDM flips that: instead of one-off commands, your MDM declares a desired end state ("this Mac should be running the latest update by next Tuesday at 6pm"), and the Mac takes responsibility for getting there on its own, checking its status and reporting back.
That local autonomy is the whole point. Apple's own deployment documentation describes devices that keep attempting an update independently, detect when they've missed a declared deadline, and resume automatically once conditions allow — without the MDM needing to re-issue anything. Status reporting improves along with it: rather than a black box, admins get visibility into whether a given Mac is waiting, downloading, preparing, or installing, plus specific error conditions when something blocks the process, such as being offline or low on battery or storage.
Software update enforcement through DDM has been available since macOS Sonoma (14), with more granular controls — enforcement scheduling, notification behavior — arriving in macOS Sequoia (15) and later. Critically, for a Mac to get the fully hands-free version of this, with unattended installs and restarts and nobody sitting at the keyboard, Apple's guidance is explicit that the device needs a bootstrap token, which in practice means it needs to have gone through Apple Business Manager (ABM) enrollment. That one requirement explains most of the gap between how DDM is supposed to work and how it actually behaves on any Mac that falls outside a clean ABM pipeline.
Where DDM Earns Its Reputation
- It comes straight from Apple. Enforcement instructions run through Apple's own framework rather than a third-party agent sitting on top of macOS. For security and compliance teams doing vendor reviews, that provenance is worth something — there's no extra software supply chain to explain.
- It's effectively free. If your MDM already supports DDM, software update enforcement comes with it — no separate licensing tier required.
- It nudges people too. DDM isn't silent, background-only enforcement; Apple builds in a countdown and recurring reminders ahead of the deadline, much like Proximos's own daily notifications.
- Cooperative users have a smooth experience. For the large share of a fleet that responds to prompts promptly, DDM's install flow just works, with no third-party software involved at all.
- Setup is refreshingly simple. A DDM software update policy is typically a handful of fields in your MDM console — no scripting, no extra servers, no additional infrastructure.
The Real World Has Other Plans
Everything above is true, and none of it changes the fact that a meaningful share of enforcement attempts never finish. In practice, the reasons cluster into four groups.
Infrastructure you may not have
Not every MDM platform has caught up. Several RMM-first tools popular with MSPs — including SolarWinds N-able and NinjaOne, among others — still don't implement Apple's DDM framework at all as of this writing, and support varies considerably from platform to platform. If your MDM hasn't built it, nothing else here is available to you regardless of which patch strategy you choose. (Worth a periodic check on your own stack — DDM support has been rolling out unevenly, and a platform that lacked it last year may have added it since.)
The human factor
Even where DDM is fully supported, it still generally needs a person to authenticate the update with their password, and DDM doesn't remove that requirement. If someone simply declines to enter it, the update typically doesn't proceed. DDM's patience isn't infinite in practice, either — our own field experience suggests that when a user avoids enforcement for roughly a week or more, DDM can effectively stop attempting the install altogether, leaving that Mac out of compliance with no further automatic retries, often with nothing flagging it anywhere.
DDM Limitations
A handful of device-state conditions, each independently capable of stalling an otherwise well-configured enforcement:
- DDM Updates will not install if The MacBook lid is closed.
- DDM Updates will not install if the Mac was shut down rather than left on and awake — unlike Windows, macOS won't force an update through at shutdown.
- DDM Updates will not install if the Mac's battery charge is below roughly 50%.
- DDM Updates will not install applications are open with unsaved documents.
- DDM Updates will not install another user is still signed in, as on a shared lab or concierge Mac.
Individually, each looks like an edge case. Add them up across a real fleet — remote workers, shared machines, people who close their laptop the second a meeting ends — and "edge case" starts looking like most Tuesdays.
Compliance you can't fully own
One more gap worth naming: DDM's notifications belong to Apple, not to you. You can't brand them, adjust their language, or tailor them to whatever specific compliance-notice wording your legal or compliance team needs on record.
Proximos + DDM: Two Layers, One Strategy
None of the above is an argument against DDM. It's an argument against asking DDM to do a job it was never fully designed to finish alone. The strongest patch compliance setups we see pair DDM's native, Apple-backed enforcement with Proximos's user-facing communication and telemetry layer, running side by side rather than competing for the same job.
That pattern shows up elsewhere in the Apple admin community too, not just in our own deployments. At JNUC 2025, NetApp's IT team described their own patch compliance journey: roughly 30% adoption using legacy, command-based MDM tools alone, climbing to about 80% once user-facing notifications were layered on top, and landing around 90% once notifications and DDM were running together — inside a two-to-four-week window. The tooling in that story isn't identical to a Proximos deployment, but the shape of the result is the same: notification plus enforcement consistently beats either one alone.
We typically see four configurations in practice:
|
Strategy |
How it's configured |
What you get |
|
Same-day enforcement |
Proximos and DDM set to the same number of days |
Two independent attempts on the same day — Proximos's nudge during the day, DDM's enforcement window that night |
|
Staggered backstop |
DDM set one or more days after Proximos |
A buffer where Proximos owns the early, user-facing nudge, and DDM only becomes the backstop if the user still hasn't acted |
|
Nudge off, notifications on |
Same day count in both; Nudge disabled via Settings → Main Settings → Disable Nudge Integration |
Proximos's branded countdown keeps showing daily; DDM alone handles final enforcement |
|
Fully DDM-fronted |
Notifications and Nudge both disabled in Proximos |
DDM owns the entire user-facing experience; Proximos runs silently in the background for telemetry and compliance actions |
The Part Most Teams Miss: Configured Isn't the Same as Confirmed
Here's the distinction that tends to get lost in patch management conversations: setting up an enforcement policy — in DDM, in Proximos, in anything — tells you what you intended to happen. It doesn't tell you what actually happened. Every failure mode above (a closed lid, a dead battery, a user who's learned to outlast a countdown, the quiet way DDM can stop retrying after about a week) produces the same symptom from the outside: a Mac that looks compliant on your dashboard because a policy is assigned to it, and isn't compliant at all.
That gap used to be mostly an internal housekeeping problem. It isn't anymore. Cyber insurance renewals and compliance audits have moved noticeably in the same direction: underwriters increasingly ask for documented patch SLAs and dated proof of remediation rather than a policy statement, and stalled reboots that leave updates unapplied are called out repeatedly in recent audit guidance as exactly the kind of gap that shows up during review — which is precisely the failure mode a closed lid or a dead battery produces. The same shift shows up with regulators and auditors more broadly: "we have a policy" is rarely the answer they're looking for. They want to know what's actually installed, on which machines, as of when.
That's the case for building visibility in from the start instead of bolting it on after an incident. A Custom Pending Update Command and a Custom Past Due Command aren't just automation conveniences — they're the mechanism that turns "we configured enforcement" into "we can show you, per device, what's installed, what's pending, and how long it's been pending." That's the difference between clearing a renewal questionnaire on the first pass and scrambling to reconstruct your compliance history after the fact.
If there's one thing to take from this, it's this: don't just ask whether your fleet is enforced. Ask whether you could prove, right now, exactly which Macs are patched — and how you'd find out if one quietly fell out of compliance a week ago.
Bringing It Together
DDM is a legitimate, well-built part of Apple's platform, and there's no reason to route around it for the large share of your fleet where it just works. The case for Proximos was never "replace DDM" — it's "cover what DDM was never going to solve alone":
- Proximos is your base layer. Powerful, trusted, brandable, customizable compliant.
- Real-world conditions will always leave a gap. Closed lids, dead batteries, shared Macs, and people who've learned to wait out a countdown aren't going away.
- DDM as a backup — DDM can install late at night when the user isn't avoiding enforcement.
- Configured isn't confirmed. The goal isn't a policy that's assigned; it's an answer you can produce on demand, per device, about what's actually installed.
If you're weighing how to combine Proximos and DDM for your own environment, that's exactly the kind of conversation our team is set up to have.