Recently, we've had a spate of people emailing and contacting us via social media with complaints that their Nexus 6 on AT&T has not yet received an over-the-air update to Android 6.0 Marshmallow. This is very annoying. Likely, even if you do wait long enough and get Android 6.0, you'll have the same problem with getting Android 6.0.1, or any subsequent update, too. In fact, this has been true of literally every OTA update for Nexus 6 devices on AT&T: they take abnormally long to receive them, AT&T branded or unlocked, versus other carriers in the US.
Before we get started, if your current Android build number on your Nexus 6 is LMY48Z, unfortunately you may be stuck on Lollipop for some time yet, unless you're willing to flash the factory image for Marshmallow (for which I'd recommend doing a full wipe), which entails unlocking your bootloader and messing around with ADB. There is no over-the-air update file to get from that build to Marshmallow yet, unfortunately, so the below method will not work. You can learn about the bootloader unlock process and flashing factory images here. The most recent Nexus 6 factory image can be found on this page. Again, the SIM method below will not work if you are on build LMY48Z, as no OTA file is available to update that build to Marshmallow.
So, why do Nexus 6 updates on AT&T take so long? To keep things short, it's basically because AT&T takes forever to certify over-the-air updates to devices, and Google obliges them by holding back updates to all Nexus 6s on AT&T's network until they're certified, even AT&T MVNOs like Cricket and Straight Talk. It's not a bug, it's just red tape. Want a way around it? If you have an unlocked Nexus 6 (i.e., one without the AT&T logo on the back), there's a relatively simple way around this problem, you just may have to be a bit patient if the solution isn't something you have lying around.
How do I force my unlocked Nexus 6 on AT&T (or Cricket, Straight Talk or another AT&T MVNO)to update to Android 6.0?
The answer is: put a SIM card from a non-AT&T carrier in it. It doesn't matter if the SIM is active! Simply pop it in, reboot the phone (and make sure you've got Wi-Fi), and your OTA updates should appear almost immediately. It could be a T-Mobile prepaid SIM, a Sprint SIM, a Verizon SIM, or a Google Project Fi SIM - anything that doesn't use AT&T's network. Project Fi SIMs are free if you've been invited to Fi, so that could be a great option for some. If you don't have a non-AT&T SIM lying around, your best (read: cheapest) bet is probably to find a friend or relative on another carrier, borrow their SIM briefly, and then start downloading the update. There's no need to keep the SIM in while the update downloads, even if you expect to have multiple OTAs. And no, this won't break the SIM / other phone or anything.
What if my Nexus 6 is AT&T-branded, and locked to AT&T?
This is the trickier situation. The only way to force your AT&T-locked (note: this is a SIM lock, not at all related to a bootloader lock) Nexus 6 to get updates as if it were as non-AT&T device is to unlock it. You can go about this one of two ways. If your Nexus 6 is fully paid-off on AT&T Next or your contract period is over if you bought it on contract, you can ask AT&T to unlock it, and they should do it within 24 hours (the exact process may require some help from you).
The second option is looking up a third-party vendor of SIM unlock codes. These codes can vary in price considerably, so shop carefully, but they're generally reliable. Just do your research. Once your AT&T Nexus 6 is carrier unlocked, just use the above portion of the guide as though it were a carrier-unlocked model: pop in a non-AT&T SIM, and your updates should appear.
Just know that once you put your AT&T / Cricket / Straight Talk SIM back in, the fix stops working (you'll keep your current updates, but new ones will probably be slow to arrive again), and you'll have to put in a non-AT&T SIM any time you want to see if your phone really has an OTA update available to it.