After a strong-ish premiere, Loki’s second season finds itself in a strange place. Its confounding second episode does little but spin its wheels, while making it seem as though the show has skipped an entire chapter in between. After Avengers: Endgame, Marvel has frequently been in the awkward position of having to balance individual stories with an overarching multiverse setup, with one of those two usually being more interesting than the other in a given story. “Breaking Brad” is defined by an ongoing tension where you hope at least one of them will be fully formed or interesting enough to matter, but unfortunately, neither rises to the occasion.
The ending of last week’s episode saw Loki being freed from his time glitching, as the TVA’s General Dox sent dozens of Hunters through various time doors — supposedly to find Sylvie, though B-15 had her doubts about Dox’s motives. This latest entry opens an unspecified amount of time later. Composer Natalie Holt puts a fancy twist on the show’s opening theme and lures us into a lavish London movie premiere in 1977, where Hunter X-05 (now going by the moniker Brad Wolfe) is the star. However, Loki and Mobius, now seemingly working for the TVA as normal, have caught up to the rogue agent and are determined to bring him in for questioning since he appears to have abandoned his post.
It’s a thrilling chase, and it involves Loki actually using Loki-esque tactics, like shadowy illusions and body doubles for the first time in a while, though it takes a moment to wrap your head around the “who,” “what,” and “why” of it all, given how similar it feels to last season’s status quo. Loki and Mobius are, once again, hunting down an anomaly on a divergent timeline, but the circumstances and stakes are supposedly different — we just don’t know how. The last we saw of X-05, he was following Dox’s orders. Something appears to have changed in between, and Loki and Mobius are tasked with figuring out what that is, but the episode’s dramatic questions all feel noncommittal.
Through some sort of presumption on Loki and Mobius’ part, X-05’s new life as an actor somehow equates to him knowing where Sylvie is — a leap that’s never properly bridged or addressed, despite the characters attempting to explain their logic — so he becomes the subject of the TVA’s interrogation. He bites back at Loki and Mobius, prodding at their insecurities surrounding their respective pasts. Loki’s villainous past is known, while Mobius’ backstory remains a mystery he chooses not to solve. But the drama here is partially stagnant. The question of who Mobius is (or was) is intriguing, as are his reasons for not wanting to pull on that particular thread — he doesn’t feel ready to confront the life he left behind, especially if it was a good one — but the question of Loki’s heroism versus his villainy is one on which the first season spent more than enough time, so it feels like a retread.
Through some light TVA torture — a high-tech box that surrounds X-05 and keeps growing smaller around him — Loki gets him to agree to reveal Sylvie’s location, which was teased in last week’s mid-credits scene when she ended up at an Oklahoma McDonald’s in 1982, creating a branched timeline of her own. About half an hour in, the episode finally features semi-interesting drama in the form of a silent, stewing confrontation between Loki and Sylvie in the back of Sylvie’s pickup truck. They’re jilted lovers, after all, whose last encounter (in the season one finale) ended with what felt like mutual betrayal. It’s also here that the reason for the episode’s entire plot is actually revealed, though perhaps “revealed” is too strong a word — it was never really concealed; it just wasn’t properly clarified. Loki is trying to track Sylvie down because he glimpsed her in the future when the TVA was in trouble, and he wants to find out why. But her answer is simple: She doesn’t know because it hasn’t happened yet.
As plot justifications go, it’s head-scratching in its lack of both intrigue and payoff and far less propulsive than the multitude of other possibilities the episode could’ve introduced. Perhaps Loki could have wanted to make up with her, or perhaps he could’ve been forced to capture her once more, despite his feelings for her? But the flimsy subplot the show lands on is brushed aside anyway when X-05 finally decides to reveal to Mobius that General Dox plans to bomb this and several other branched timelines out of existence.
It doesn’t help that this scenario wasn’t properly set up, i.e., the fact that Dox was apparently on a rogue mission and that the TVA (like B-15 and Casey) was either on her tail or carrying out a more benevolent and protective mission of their own by now preserving existing timelines. Regardless, this premise, too, is resolved as quickly as it’s introduced, with Loki and Sylvie swiftly locating Dox’s secret warehouse and dispensing with her forces in seconds, though not before several alternate realities are destroyed, albeit entirely offscreen.
Wunmi Mosaku does her best as B-15 to convince us that this development has any weight — “Those were people! Those were lives!” she proclaims while looking at squiggly lines on a screen — though in a continuity rife with time travel, resurrections, and alternate universes that keep being reset, it’s hard to get invested in this theoretical calculus of stakes without so much as a flashing depiction of any of the lives in question. Not only does “Breaking Brad” feel like it skipped a step, it also feels incomplete.
While its self-contained story (to whatever degree Loki can be self-contained) flounders in shallow water, there’s some amount of progress on the shared-universe side of things, though it’s hardly much more interesting. Casey locates the missing Ravonna Renslayer, as Loki mentions the recording he heard in the past, hinting at Renslayer being in cahoots with Kang/He Who Remains. Meanwhile, Ouroboros — who at least gets some fun and snappily edited dialog — comes to the conclusion that saving the TVA from the threat of the malfunctioning Time Loom and its jammed blast doors will require the help of its creator, Mr. Remains himself. They might be able to track him down with the help of the clock-faced AI Miss Minutes, who also appears to be assisting Renslayer on her unknown quest. So, at the very least, the episode establishes a linear roadmap that Loki and co. might follow to bring Kang back into the series’ fold, but it’s immensely plot-centric at this point (finding character A leads to character B leads to character C, in the vein of Disney’s Star Wars), without much in store for Loki himself by way of character or story.
Director Dan Deleeuw takes full advantage of the tiny moments and exchanges between Loki and folks like Sylvie and Mobius — he knows just when to use both stillness and motion for each conversation — but ultimately, the show’s creativity is once again stifled by a mechanical process that spreads its characters out like pieces on a chessboard, waiting to be shuffled into place. What little soul this season has, its second episode is only able to gesture towards it.
Low-Key Moments
• Hunter X-05’s new identity is a fun comic throwback: Thor villain Brad Wolfe is an actor who, like his streaming counterpart, leads a horror movie called Zaniac, about a serial killer of the same name. In the comics, he ends up being possessed by this fictional character, which would be a pretty whacky scenario to find Rafael Casal in.
• The setting of Sylvie’s subplot, Broxton, Oklahoma, is an Easter egg, too: It’s where the God of Thunder established New Asgard in the comics.
• While McDonald’s’ “40 billion served” statistic is impossible to verify, the sign seen in 1982 is accurate to what the restaurant would’ve theoretically claimed at the time. There was never any such milestone advertised in our timeline — only 20 billion in 1976 and 50 billion in 1984 — but as far as Sylvie’s new timeline goes, the burger math checks out.
• For all the episode’s frustrating developments (or lack thereof), O.B. realizing he needs Kang’s help because of a computer alert that reads “Access Denied: Invalid Temporal Aura” is pretty funny.
• Speaking of funny, Ke Huy Quan’s polite, matter-of-fact delivery of “Nice to meet you, we’re all gonna die” is proof the whole show should’ve been built around him. Sorry, Loki(s)!
• Key-lime pie may not actually be that green, but it looks fantastic here. It’s only a matter of time before a Disney park begins selling them at a TVA automat that reads “Pies. Pies. Pies.”
• Once again, the “X” on the door to the time bridge is incredibly pronounced and distinctly Cerebro-esque. We’re not going to speculate on X-Men connections, but there’s no way they don’t want us to, right?
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()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),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(1),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 o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.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()&&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;
}, {"1":1,"4":4,"12":12,"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();
// ]]