Cookies help us deliver our Services. By using our Services, you agree to our use of cookies. Learn More.

The Ending Of Source Code Explained

2011's "Source Code" combines the tropes of several popular genres into a spare and tightly plotted yet character-driven and ambitious film that's very much its own thing. Fans of its director, Duncan Jones, probably expected as much. His debut feature, 2009's "Moon," was a critical darling and award winner that starred Sam Rockwell and an extremely small cast of incidental characters. "Moon" was part near-future space sci-fi, part mind-bending psychological drama about the effects of isolation, with a dash of commentary about corporate disregard for human life, made on a modest budget of $5 million. With "Source Code," Jones had more actors and more money to work with, but kept things intimate in scale compared to other Hollywood blockbusters. 

His second outing is also an exercise in mind-bending sci-fi, with similar themes about isolation, institutional corruption, and the ways technological advancement can influence our lives. But this time, Jones also throws in elements of spy thrillers, military dramas, train mysteries, and even a romantic comedy-style meet cute. With reveals and twists that build upon reveals and twists, "Source Code" is the type of movie that lets the audience figure things out along with the main character. Its fascinating premise is told through a time loop story structure, but Jones and his cast make what could be incredibly confusing pretty accessible to a general audience ... at least until the very end. If — like Captain Colter Stevens throughout "Source Code" — you still have questions about what really happened, read on. 

What you need to remember about the plot of Source Code

"Source Code" starts off for the audience like it does for the protagonist: in a state of complete disorientation. Captain Colter Stevens (Jake Gyllenhaal) comes to on a commuter train, seated across from a flirty woman named Christina (Michelle Monaghan), with no idea how he got there or where he's going. He sees a reflection in the window that doesn't match what he knows to be his own face, and about eight mind-boggling minutes later, a bomb unexpectedly goes off, killing everyone aboard. 

Then Stevens wakes up again, convinced he's just been flying a helicopter in Afghanistan. After another mysterious woman on a computer monitor, Captain Colleen Goodwin (Vera Farmiga), reads him a sequence designed to jog his memory, he's reminded that he's now running anti-terrorism missions for the Air Force stateside (he thinks it's a simulation) and has been for two months. 

In short, a technology has been devised that has allowed his consciousness to enter the body of a passenger on the train. He has eight minutes to find and disable the bomb and identify the terrorist, who plans to act again. He's told by Goodwin and her boss, Dr. Rutledge (Jeffrey Wright), that the train explosion has already happened that morning and its victims — including Stevens' avatar, Sean Fentress, and Christina — are irreversibly dead. But future attacks, like a dirty bomb they fear will wipe out most of Chicago, can be prevented. Captain Stevens' commits to his mission and relives that crucial eight minutes over and over again, steadily making progress each time. 

How does Source Code work?

More of a speculative high-concept military thriller than hard sci-fi, "Source Code" doesn't waste too much of its efficient 93-minute runtime explaining how Dr. Rutledge's program works. Conveniently, Rutledge provides an in-universe reason not to think too much about it: "Every second spent explaining things puts more innocent civilians at risk." When Stevens presses him for answers, he's told that Source Code isn't a simulation, as he suspected, but an extremely limited type of time travel. Rutledge clarifies that it's more like time re-assignment, and it works via quantum mechanics and parabolic calculus. He says the brain's electromagnetic waves stay active for roughly eight minutes after death, like the afterglow of a light bulb that's been turned off. Rutledge has engineered a way for only very specific candidates — of whom Stevens is one — to have their own brain activity transferred into that supposedly closed eight-minute loop. 

However, Rutledge and Goodwin tell Stevens that he can't alter the past. He can only view it like footage from a security camera. This doesn't sit well with the intelligent and driven Captain Stevens, who realizes that he can interact with the passengers and change outcomes. He brings back news that he was able to save Christina in one of his many trips back to that morning, even though he (as Sean Ventress) died when he got hit by the train. Goodwin tells him to stay focused on the bomb and that saving past lives falls outside of his mission.  

What's really going on with Captain Colter Stevens?

During one failed run at IDing the bomber, Stevens' re-entry to the present timeline doesn't go well. Rutledge's staff is worried; they don't know what's about to happen but they do know he doesn't have much time. Stevens wakes up in what he experiences as a pod that's lost power. During another attempt, he has Christina look up his name on her smartphone and is shocked to hear that he was reported killed in action two months earlier — the exact amount of time he's been involved in this secretive project stateside. 

A sympathetic Goodwin lets him in on the Source Code project's dark secret. Stevens was gravely injured in Afghanistan, and his body is being kept on life support and so that his brain can continue to serve the military. The pod is just a projection of his unusual neural situation. An angry Stevens doubts such a program could be legal, but Rutledge assures him everything's on the up and up. He tells Stevens that many soldiers would prefer his situation to death, but Stevens disagrees. 

They strike a deal that, if he successfully thwarts a second attack, Rutledge will allow Stevens to die. But the doctor has no intention of keeping his word — not when he can simply wipe Stevens' memory and start over again. Near the end, when Goodwin tries to uphold the promise to Stevens, the audience can see what's really become of the former helicopter pilot. In a harrowing shot, he's shown to be not much more than a badly damaged head and torso with his brain exposed. 

What happens at the end of Source Code?

From his second time reliving the loop onward, Stevens' is able to recall his purpose and stay focused on the tasks at hand. He hunts down the bomb easily in an overhead bathroom vent, designed to be detonated by a cell phone. Because 52 calls were placed in the vicinity of the train just prior to the explosion, hunting down the perpetrator is trickier. Stevens profiles the passengers, and resorts to going through their belongings and getting into physical altercations, all to no avail. One quirk he notices about the loop is that a student always returns a wallet to an otherwise ordinary-looking man. He catches that man tossing the wallet back onto the train. Deducing that he wanted fake his death, Stevens memorizes his information (his name is Derek Frost) and trails him to a white van that contains the second, deadlier bomb. 

But in confronting Frost, Stevens and Christina (who's followed him) are both shot and killed. When he's mentally revived, he provides the final intel to Rutledge and Goodwin, who are able to have Frost arrested, saving countless lives in the near future. While Rutledge is celebrating the project's success, Stevens begs Goodwin to let him go back one last time. He believes he can save past lives, too, if he can disable the bomb in the vent. She acquiesces. First, he locates a second back-up phone detonator. Then, he manages to handcuff Frost and confiscate his phone, which prevents the first bomb from ever going off. Believing he'll die in the real world when his eight minutes are up, he uses his final moment to kiss Christina. 

Who's in Sean Fentress' body?

After the eight-minute clock stops ticking, Stevens is thrilled that life goes on for the train passengers as if nothing had ever happened, but he's surprised that he's still alive too. He and Christina stroll together up to Chicago's famous Cloud Gate (aka the Bean), where if viewers squint, they can see in the reflection that the person Christina is with is, in physical form at least, Sean Fentress. Stevens asks whether she believes in fate, since he had visions of the sculpture whenever his consciousness was passing back and forth between the events of the train and his experience back at Source Code's headquarters. 

It's implied that, before the day of the explosion, Sean and Christina weren't yet dating but were both interested in each other. Throughout "Source Code," she often remarks that Sean seems different, which makes total sense, since it's not really Sean she's with anymore. Because Stevens is aware of the last eight-plus minutes on their date and because he references his rapid montage of a vision, it seems clear that Captain Colter Stevens now permanently occupies Sean Fentress' body. This begs the question: what happened to the real Sean Fentress? While Stevens did, in fact, save everyone's lives that morning on the train, he had to basically re-assign Sean out of existence to do so. This means that Sean's body is alive though he's mentally dead — which is the opposite of Stevens' state.

What was Source Code, really?

The world continues on for those passengers because Stevens was right about the nature and potential of Source Code. It wasn't just a quantum computer program that let Rutledge look back in time through avatars so that the military might avert future catastrophes by gathering otherwise impossible intelligence. If it was, all those previously doomed people on their way to Chicago would've disappeared regardless of his actions, and his mind would've either transferred back to his pod or ceased to be altogether. 

By implication, because they all continue to live out the rest of the day, they're all now in an a parallel reality where the bomb was never detonated. Stevens later calls it a new world. Whether Source Code remakes the world via time travel or makes myriad alternate worlds through time branching is an open question, as is whether Rutledge knew what the program was actually doing. All of that has either promising or troubling ramifications, depending on how one looks at it, and the secrecy and urgency with which Rutledge speaks about his pet project hints that maybe he's fully aware of that fact. 

What does the ending mean?

For such a complex and tense movie, "Source Code" appears to have a relatively tidy, happy ending. Though Rutledge and the Source Code program have been taking advantage of a comatose Captain Colter Stevens' without his permission, things turn out about as well as could be expected for everyone involved (except Sean). Stevens caught a terrorist, prevented a dirty bomb from taking out a city, and saved everyone's lives aboard the train. He even found a way to call his father and get closure after they parted on bad terms. Finally, instead of dying of his war wounds or remaining hooked up to life support and computers indefinitely, he gets a second chance at life, plus a date with a beautiful woman ... if his successful final mission simply remade his own reality with better outcomes.

But a second interpretation of the ending is more disturbing. If Source Code does create a divergent reality each time it's used, then at least eight but probably many more new realities have been generated (we don't know how many times Colter goes back, nor do we know if the train is the first instance in which Source Code's been tried). Since life goes on in the reality in which Christina and Stevens (as Sean) live, that would mean life went on in all those other realities, too, in which both bombs went off and huge numbers of Chicagoans died. So, Rutledge could be creating new realities in which mass death occurs in an effort to stop more mass death in his own. That's morally complicated to say the least, and much less simplistic and happy than the ending originally seems. 

What about that twist?

In a last-minute twist, Stevens sends the following message to Goodwin: "If you're reading this e-mail, then Source Code works even better than you and Dr. Rutledge imagined. You thought you were creating eight minutes of a past event, but you're not. You've created a whole new world. Goodwin, if I'm right, somewhere at the Source Code facility you have a Captain Colter Stevens waiting to send on a mission."

Like the conclusion to the main plot, that message could be interpreted two ways. Either Stevens reset reality, in which case the train explosion never happened and, paradoxically, he never began the train mission. If so, he's still hooked up to Source Code, where he could now knowingly be used not only to gather eight minutes of intel about past events but to undo past disasters, effectively remaking the world over and over again if need be. 

Or, alternate reality Stevens sent that message to alternate reality Goodwin, where alternate reality on-life-support Stevens is also still hooked up to Source Code. In this version, if Goodwin believes his message, the divergent reality with the best outcome is the only one that knows what Source Code can really do. Elsewhere in the prime reality, as far as anybody knows, Source Code helped prevent the second attack and Goodwin unplugged Stevens. 

With his last line, Rutledge says that someday the right tragedy will present itself and Source Code will have its day. That doesn't clarify which reality they're in. It also doesn't solve the problem of Captain Colter Stevens' two consciousnesses. Either way, there's one in Sean Fentress and one plugged in back at the facility.

What has the cast and crew of Source Code said about the ending?

"Source Code" started out as one of the hottest scripts of 2007, written by Ben Ripley, who sold his screenplay to Universal. But the project really got off the ground when it ended up in Jake Gyllenhaal's hands. He'd been an admirer of director Duncan Jones' previous film, "Moon," and offered up "Source Code" as a project they could work on together. Jones told The Hollywood Reporter that he was immediately excited by the script, saying, "It literally starts with a bang and goes 100 miles per hour. It's just really fun." 

The movie itself might be fast paced, but shooting "Source Code" took painstaking attention to detail. In an interview with Fandango, Jones and Gyllenhaal explained that they shot in chronological order to keep continuity between the repeating scenes. Jones also kept schematics of the train, including the path of each passenger, since their routine changed only when Stevens interacted with them. Michelle Monaghan and Vera Farmiga faced challenges of their own. Monaghan told Indiewire, "The most intriguing and challenging thing, as an actor, was to play those eight minutes over and over again and still make them engaging." Farmiga, meanwhile, was limited to acting within a computer monitor, usually with nobody opposite her on set. 

Both Jones and Gyllenhaal like that the ending invites discussion. Though sci-fi-minded Jones feels he tied up enough loose threads, Gyllenhaal recalled a post-viewing dinner with friends, saying, "Eeryone had a different point of view as to what the final idea that Duncan presents at the end is." 

Source Code's alternate endings and failed spin-offs

Duncan Jones and Jake Gyllenhaal agree that Ben Ripley's original script was "taut," but they did make changes and engage in some improvisation during rehearsals, all of which affected the ending. In Ripley's draft, "Source Code" ends shortly after Stevens (as Fentress) kisses Christina. He checks his watch and sees that more than eight minutes have gone by, then the pair set off on their coffee date. Jones' version adds the freeze, the email to Goodwin, and the extended scene in front of Cloud Gate in which they discuss fate. Because Gyllenhaal in particular had the freedom to improvise on set, other alternate endings exist that are the result of his ideas. 

"Source Code," with its catchy premise, did well enough with critics and at the box office that it could've become a franchise starter. A TV series with the same concept and title went into development for CBS, but never came to fruition. A feature-length sequel to be directed by Anna Foerster has been stalled in development since 2014. A short-lived internet video game was also created to promote the film. It seems that, though Source Code might spawn infinite realities, the film itself will probably end up being a singular accomplishment.