Was this the best Walking Dead finale ever? Fresh off watching these 90 minutes of mayhem, it’s tempting to holler, “Hell yeah.” But remember, season two’s conclusion set the bar high. Consider all its game-changing moments — the revelation that everyone turns into a brain-eater when they die, the first appearance of Michonne as she and her pets saved Andrea, the establishment of the Ricktatorship, and the glimpse of the prison where so many very bad things would eventually go down. Still, last night’s episode ranks a close second. Morgan returns with some new skills, the mystery of the W marks is revealed (sort of), people die, and Alexandria’s future seems to be in Rick’s hands. Also: Morgan returns!
The opening scene is almost too much to process, as we reunite with Morgan and meet the Wolves — the guys responsible for the W carvings, all those severed limbs, and the woman tied to the tree. The first Wolf Bro is sort of a poor man’s Chris Cornell, with long, dark hair and what appear to be Indian arrowheads on a necklace. He regales Morgan with a story about the early settlers who put bounties on wolves: “Didn’t take too long to kill them all.” He points to the mark on his head. “They’re back now.” The Wolves set traps — as Daryl and Aaron learn the hard way — they kill, take what they want, and are not big on hygiene.
When Wolf Bro No. 2 ambushes Morgan, we see a different side of Rick’s old pal. We knew he was a good shot, but when did Morgan turn into Donatello from the Teenage Mutant Ninja Turtles? Sometime between Rick meeting Morgan with his son and now, he apparently found a dojo and did some serious martial-arts training. Our favorite nomad has become the show’s Obi-Wan Kenobi on Tatooine — he’s off on his own, rocking a hoodie, and wields an elegant weapon for a more civilized age. Morgan handles the Wolves a little too easily, spinning his wooden staff and kung-fu posing. He also makes a critical mistake by leaving the Wolves in a car and honking the horn, assuming they’ll be walker food in no time. Of course, we know what happens when you assume — it comes back to bite you in the ass, often literally.
There’s actually more drama in the woods than inside Alexandria, at least until the end. Nicholas lures Glenn outside the gates, and as we all saw coming, it’s an ambush. Glenn takes a bullet to the shoulder and a nasty knockdown drag-out ensues, with Glenn busting a leg stomp and Nicholas digging his fingers into Glenn’s gunshot wound. As zombies swarm our hero, we’re not sure if he’s alive or dead. That’s something this episode sustained that’s hard to do — for much of the time, just about anyone was on the precipice of death. At least one member of Rick’s crew figured to make a permanent exit. Surprisingly, they all survived.
If there’s really a God in this zombie-infested world, the Almighty would see to it that Father Gabriel got his. The priest wanders off alone, and in his one useful act, gives us a nice kill shot, using a noose to rip a walker’s head off. Otherwise, he’s far worse than annoying — he’s a threat to everyone’s safety. Gabe can’t even close a damn gate. And he can’t kill himself, so he tries to suck head case Sasha into a “death by cop” scenario. For a second, it looks like she would pull the trigger — and worse, when Maggie interrupted, I worried Sasha would spin around and fire. My fingers were crossed that Maggie would finish off Gabe herself, but alas, they’re all singing “Kumbaya” in the end.
Just as death looms large in this episode, so does the Wolfpack. Daryl and Aaron are hot on the trail of a stranger, Red Poncho; my assumption was that he was the W-carving butcher. But they choose to give up his trail and raid a food distributor for supplies. How, I wonder, could Daryl be such a skilled tracker and notice that Red Poncho was covering himself with wild leeks from a hundred yards away, but not see that all the food trailers were booby-trapped by the Wolves? (Apparently, the Wolf Bros found themselves a Best Buy and rigged up a sound system and light show to attract walkers into those trailers. Where do they get the juice to run that setup? What happens when the remote trigger dies?)
In the yard, we’re given two choice kills — Daryl wipes out three with one swing of a chain, and Aaron crushes a zombie head in the car door moments before they’re overrun. As they face what appears to be certain doom, Daryl and Aaron share a weirdly sweet bonding moment — we’ll fight together, side by side, as soon as Daryl finishes that last smoke. Cue Morgan with his staff of destruction to save the day. He’s also got the map that Sarge gave to Rick, with the “the new world’s gonna need Rick Grimes” note. It’s a holy-shit moment for Daryl and us. They’re all gonna be friends!
Assuming Alexandria is still standing when they show up. Considering Rick and Carol’s plan, that’s no guarantee. Carol continues to be one hardass mother, as she takes real talk to a whole new level. She starts by telling Rick what to say at Deanna’s town-hall meeting: “Tell them the story they want to hear. That’s what I’ve been doing since I got here … because these people are children, and children like stories.” Then she drops by Pete’s place with a casserole and a threat at knifepoint. “You’re a small, weak nothing,” she says, working out some unresolved anger toward her own abusive husband. “With the world how it is, you’re even weaker. Play your cards right, and maybe you don’t have to die. And I want my dish back clean when you’re done.” Casserole drop, and she’s out like a boss.
The fate of Alexandria rests on Rick’s unstable shoulders. He’s ready to turn the meeting into a bloodbath if necessary, grabbing Deanna and her family and threatening to slit their throats if they don’t hand over the armory and cooperate. He tells Glenn this won’t be like the butchery at Terminus. But what if Deanna didn’t give in? Rick finally lets Michonne in on his secret plan, and she makes it clear she has his back — as long as he doesn’t start any drama. There’s a great electricity between these two, and if Rick knew what time it was, he’d stop messing with Jessie and put the moves on Michonne. One unstoppable postapocalyptic power couple they’d be.
It’s up to Rick to find whatever snuck in through the gate that Gabe left open, and he does so in gruesome fashion — shoving his hand through the zombie’s neck, into its head, and crushing its brain from the inside. Gore blasts through its eyes and mouth and all over Rick’s face. (Wouldn’t a mouthful of zombie blood infect you? Seems just as bad as a bite.) Rick shows up late for the town hall, but he brings a gift, at least — the zombie carcass. Sadly, he just missed the Sarge’s epic soliloquy in his defense: “There’s a vast ocean of shit that you people don’t know shit about. Rick knows every fine grain of said shit.”
Just as it appears that Rick and the gang are prepared to give into their most animalistic instincts, humanity wins out. Glenn somehow resists the urge to put a bullet in Nick’s head and drags him back to town. Maggie leads Gabe and Sasha in a prayer circle. There’s hope for the future, too. Tara wakes up. Eugene forgives the Sarge for nearly beating him to death. And Rick tells the Alexandrians he’s got a new plan, with an emphasis on learning rather than murder: “I was thinking, How many of you do I have to kill to save your life? But I’m not going to do that. You’re going to change.”
Easier said than done, it seems — until Pete crashes the party with Michonne’s sword. Poor Reg tries to hold him back and ends up getting his throat slashed. (There’s a whole lot of that in this episode, between Reg, Red Poncho, and Rick’s threat to do the same to Deanna and her family.) As Reg bleeds out in her arms, Deanna makes it clear she’s onboard with the new world order. “Do it,” she says, and Rick doesn’t hesitate to execute Pete in front of his wife and everyone else. The best news of all? Michonne reunites with her blade.
We’re left with a lot to ponder until season six kicks off in the fall. Moments after Rick kills Pete, Daryl and Aaron appear with Morgan. Both men are stunned to see each other. What impact will Morgan have on Alexandria and on Rick? Will he stick around for long? Seems like that shark needs to swim; I don’t expect him to take advantage of Alexandria’s robust real-estate market. What will the town look like under Rick’s rule? Now that Pete’s dead, will the constable and Jessie hook up? Who will build a movie theater or a food court so Carl and Enid can go on dates?
Then there are those Wolves. They captured Red Poncho, sliced him, and turned him loose in their zombie trap. What’s up with all the severed torsos and limbs? Could they be two of the men that Aaron exiled from Alexandria a while back? I doubt it — though it was interesting that Wolf Bro 1 looked through Aaron’s photos with particular interest. Maybe that’s just foreshadowing their inevitable arrival at the Alexandria gates. As that graffiti warns, the Wolves are not far away. The town survived Gabe’s gate blunder, but Rick’s last words hang heavy: “Luck runs out.”
A previous version of this piece misidentified Andrea as Carol.
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"3":3,"6":6,"17":17,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(17),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(3),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let i=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||i.classList.remove("open")})}function gtmSendReport(e,n,t){let i={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(i.eventLabel=n.href),gtm.reportNow(i)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const i=t.split("?"),o=new URLSearchParams(i[1]);for(let e of n.entries())o.set(e[0],e[1]);t=`${i[0]}?${o.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),(auth.isSubscriber()||auth.isMobileAppRequest())&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"3":3,"4":4,"17":17,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]