External Monitor Not Detected After macOS 26 Upgrade

I have a MacBook Pro (M4) connected to an external monitor via a USB-C to USB-C cable. It was working fine until I upgraded the OS to macOS 26 earlier today. However, the external monitor is no longer detected, even after I restarted the MacBook Pro.

MacBook Pro 14″, macOS 26.0

Posted on Sep 15, 2025 1:05 PM

Reply
Question marked as Top-ranking reply

Posted on Oct 10, 2025 5:26 PM

Macbook Pro M4 Max 128GB RAM, OS 26.0.1. -> Kensington TB4 Docking Station, LG 49W-L59C Monitor (attached via USBC to Docking Station).


With me everything Thunderbolt (I have a Thunderbolt 4 Dock by Kensington that has been the MBP's primary companion since I brought it home) takes random dumps flapping disconnect/connect after upgrading to OS 26. As others say, undesired behavior stops if you reboot with the TB4 dock connected, or if you leave it alone for a while with the lid open and just wait it out for a *very* long time (1/2h or more, every flap seemingly "lasting longer" on until I feel I can finally close the lid). Open or closed lid doesn't matter (though closed lid goes to sleep eventually).


It flaps all my TB peripherals back and forth as well, so it's the connection dock-Macbook, not USBC monitor-dock. It's insane and it was all working perfectly before the upgrade.


Setup works well with other devices including an non-upgraded Macbook Air M2 I also own.


You can claim "now we perfect video with no dropped frames" all you want, but graceful degradation on regular usage really is table steaks expected behavior in 2025 (and that it "eventually fixes itself" with lid open suggests a software bug, not cables). Submitted a bug and everyone who can reproduce should as well.


I write software (but not Kernel stuff). Here's a log around one of the flip-flaps (filtered by IOThunderboltSwitch) in case interested Apple devs see this.


default	16:31:54.565680-0700	kernel	130796819157us IOThunderboltSwitch(0@1)::finalize - terminate device: Kensington TB4 Docking Station (047d:809b:01) (8087:0b26:03)
default	16:31:55.780139-0700	kernel	130798033610us IOThunderboltSwitch(0@0)::processPlugEvent - Thunderbolt HPD packet for rid = 0 route = 0x0 port = 2 plug = 1
default	16:31:55.780402-0700	kernel	130798033873us IOThunderboltSwitch(0@0)::processPlugEvent - Thunderbolt HPD packet for rid = 0 route = 0x0 port = 1 plug = 1
default	16:31:55.895400-0700	kernel	130798148869us IOThunderboltSwitch(0@1)::syncTargetAndNegotiatedWidth - port (0@0:2) - bonding took 0 ms
default	16:31:55.895863-0700	kernel	130798149332us IOThunderboltSwitch(0@0)::processPlugEvent - Thunderbolt HPD packet for rid = 0 route = 0x0 port = 2 plug = 0
default	16:31:55.907162-0700	kernel	130798160632us IOThunderboltSwitch(0@1)::processPlugEvent - Thunderbolt HPD packet for rid = 0 route = 0x1 port = 2 plug = 0
default	16:31:55.960740-0700	kernel	130798214209us IOThunderboltSwitchIntelJHL8440(0@1)::overrideSupportedCLxStates - clx = 0x00000000
default	16:31:55.961412-0700	kernel	130798214881us IOThunderboltSwitch(0@1)::configureCLx - (0x1 -> 0x1) supported = 0x7 common = 0x0 parent = 0x7 child = 0x0 options = 0x0 enable = 1 current = 0x0 target = 0x0 status = 0x00000000
default	16:31:55.993346-0700	kernel	130798246815us IOThunderboltSwitchIntelJHL8440(0@1)::overrideSupportedCLxStates - clx = 0x00000000
default	16:31:55.994040-0700	kernel	130798247510us IOThunderboltSwitch(0@1)::configureCLx - (0x1 -> 0x1) supported = 0x7 common = 0x0 parent = 0x7 child = 0x0 options = 0x0 enable = 1 current = 0x0 target = 0x0 status = 0x00000000
default	16:31:56.004702-0700	kernel	Sandbox: ThunderboltAccessoryUpdaterServi(1256) allow iokit-get-properties iokit-class:IOThunderboltSwitchType7 property:Router ID
default	16:31:56.144109-0700	kernel	130798397578us IOThunderboltSwitchIntelJHL8440(0@1)::overrideSupportedCLxStates - clx = 0x00000000
default	16:31:56.144807-0700	kernel	130798398275us IOThunderboltSwitch(0@1)::configureCLx - (0x1 -> 0x1) supported = 0x7 common = 0x0 parent = 0x7 child = 0x0 options = 0x0 enable = 1 current = 0x0 target = 0x0 status = 0x00000000
default	16:31:56.594343-0700	kernel	130798847808us IOThunderboltSwitch(0@1)::processPlugEvent - Thunderbolt HPD packet for rid = 0 route = 0x1 port = 13 plug = 1
default	16:31:56.691675-0700	kernel	130798945140us IOThunderboltSwitchIntelJHL8440(0@1)::overrideSupportedCLxStates - clx = 0x00000000
default	16:31:56.692414-0700	kernel	130798945879us IOThunderboltSwitch(0@1)::configureCLx - (0x1 -> 0x1) supported = 0x7 common = 0x0 parent = 0x7 child = 0x0 options = 0x0 enable = 1 current = 0x0 target = 0x0 status = 0x00000000


While cable changes may work for others, it hasn't been the case for me. My cables are new T5/80Gb cables (I already paid for a maxed out M4 Max, what's a TB cable?)


What sucks is that every other laptop including my Linux laptops of a huge range of versions and generations all work and behave beautifully with this exact setup... but what's by far the most expensive machine I've ever bought, decides to take random dumps now. It's just frustrating and makes me feel like I wasted my money here (when I know a crappy bus implementation when I use one; I mean, I have windows machines too).


I really hope they fix this. Soon. It's not okay since it hits me at least 2x/day as I move around with my laptop as one does.


Good luck everyone, hope any of this helps.

84 replies

Sep 17, 2025 9:02 PM in response to hlsu

Just to add to the case to possibly help the devs work on a solution.


External display connected to my M1 Max MacBook Pro using the HDMI port, HDMI to HDMI, was working fine.

Until, I clicked the annoying screen button on the top right ( the one that make me feel like someone is watching my screen even though its just my own computer sharing display to my own display in front of me ), and I tapped on "Stop Extending"


This was it, there was now no way of making the screen extend to the monitor, the Mac refused to see it anymore, restarts, unplug and plug back in, different HDMI cables, nothing. Have had to resort to a usb c dongle for now, but I hope a fix comes about because this is weird.

Sep 30, 2025 8:05 AM in response to dlopez01

<< Plugging in my MagSafe charger appears to completely break high speed thunderbolt connectivity. >>


That WavLink Dock is a USB-C dock, not a ThunderBolt dock, according to the maker's user manual.


Compatible with Type-C USB 3.1 Gen2 full specification PC/laptop


They appear to be using a symbol similar to a ThunderBolt symbol (genuine ThunderBolt has an arrow on the tip of the lower end) to indicate that port can supply up to 100 Watts power to your Mac. There is no claim in the specifications that the WavLink dock is a ThunderBolt device.


--------

If this is a Bug, it is a Bug with multiple charging methods, not Thunderbolt protocols.


Sep 16, 2025 8:47 AM in response to macOS_user_892

macOS_user_892--


To get the attention you deserve, PLEASE start a NEW discussion.


If you did not immediately find your solution by reading through the existing postings, you likely do not have "exactly the same problem" and need to explain from the beginning. This discussion is already too complicated.


Starting a new discussion will allow Readers to think hard about your exact situation and address the exact circumstances you are facing.


https://discussions.apple.com/post/question


Sep 16, 2025 10:52 AM in response to hlsu

HDMI cables you want for HDMI-only Displays (higher resolutions than 720p TV sets) are marked as Certified with an anti-counterfeiting tag and are labeled:


"PREMIUM High Speed HDMI cable" or that + "with Ethernet" (up to 4K at 30Hz) --OR--

“ULTRA High Speed HDMI cable" or that + "48G" (supports higher resolutions and backward-compatible)


Cables with No Certification tags are good for your standard 720p TV set, and not much more.


HDMI was invented for HD TV sets. it works great at its original resolution of 720i or 720p. At higher resolutions, it quickly develops issues that are complex to solve, and the cables and adapters required to solve are NOT intuitive.

Sep 17, 2025 11:17 AM in response to Grant Bennet-Alder

I don't understand the logic behind recommending that the cable is the issue. The cable worked moments before I did the macOS 26 upgrade, with the same computer, monitor, and cable. Once the software was updated, the setup didn't work. This thread has many views compared to all other Tahoe topics, likely meaning others are searching for this same issue.


The USB-C to USB-C cable I was using came with a monitor. I also tried a USB-C cable that comes with other Apple products. Both have the same result.


I will try to order a Thunderbolt cable. If that solves the issue, I will report back. However, it's silly that a software update now requires purchasing a different type of cable.

Sep 18, 2025 5:43 AM in response to villmatt

<< the Mac refused to see it anymore, restarts, unplug and plug back in, different HDMI cables, nothing. >>


Using a different cable is a fix for BROKEN cables. It does nothing to improve a sub-par cable into an acceptably-good working cable.


Cables "found" behind your TV set are not likely to be high enough spec to be usable for a modern display connected to a modern Mac.


HDMI cables you want for HDMI-only Displays (higher resolutions than 720p TV sets) are marked as Certified with an anti-counterfeiting tag and are labeled:


"PREMIUM High Speed HDMI cable" or that + "with Ethernet" (up to 4K at 30Hz) --OR--

ULTRA High Speed HDMI cable" or that + "48G" (supports higher resolutions and backward-compatible)


Cables with No Certification tags are good for your standard 720p TV set, and not much more.


HDMI was invented for HD TV sets. it works great at its original resolution of 720i or 720p. At higher resolutions, it quickly develops issues that are complex to solve, and the cables and adapters required to solve are NOT intuitive.


Sep 18, 2025 11:32 PM in response to hlsu

I have the same issue. My external Monitor hardly gets detected. It randomly works when I try like 20 Minutes or so. But if I lock my MacBook and the Monitor switches into power saving mode it won´t be detected afterwards. This is pretty annoying and started when I updated to macOS 26 Tahoe. I tried different Thunderbolt cables, turning on and off the monitor and MacBook and tried to "detect displays" in system settings.


What's kind of weird is that if the Monitor is connected and is waiting for a video signal I can use the connected devices like keyboard and mouse. So the only problem is the video signal.

External Monitor Not Detected After macOS 26 Upgrade

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.