f you’ve ever wanted to watch a movie that feels like it was written by a committee that only remembered the vibes of E.T., Ghostbusters, and random YouTube prank videos, We Have a Ghost has you covered. It’s the cinematic equivalent of a Halloween store pop-up: brightly packaged, overstuffed, technically “fun,” and falls apart the second you look closely at anything.
The Haunting of Bland House
The setup isn’t terrible: the Presleys, a family with sitcom-level dysfunction, move into a suspiciously cheap, creaky old house. Young Kevin finds a ghost in the attic—a mute guy in a bowling shirt played by David Harbour—who is clearly supposed to be equal parts sad, cute, and memeable.
Kevin films him, Dad uploads the video to YouTube, and boom: instant internet fame. Ghost as content. In theory, this could be a decent satire of viral culture and exploitation. In practice, the movie does what the Presleys do: uses the ghost for views, then forgets what to do with him.
The haunting itself is bizarrely toothless. Ernest/Randy pops up, does some silent physical comedy, screams a bit, and that’s about it. He’s a ghost with less menace than an unplugged ring light.
David Harbour, Human Special Effect
David Harbour is a talented actor whose entire performance here seems to consist of making sad eyes and occasionally shrieking at people like a drunk Roomba. The character is supposed to be tragic—a murdered husband and father with no memory, trapped in a house he can’t leave. But the film wants him to simultaneously be a walking TikTok filter, a buddy-comedy sidekick, and a sentimental Hallmark dad substitute.
So he ends up as… nothing. Just vibes. Big, sad, spectral vibes.
When the script finally remembers Randy is supposed to be the emotional core, it dumps his backstory in a rush of flashbacks and exposition about Ernest Scheller, stolen children, and tragic arson. Instead of feeling like a devastating revelation, it plays like the movie realized it was almost over and went, “Oh right, plot.”
Kevin: Gen Z Protagonist, Courtesy of Adults Who Don’t Know Any
Kevin is the designated Sensitive Teen, with a taste for retro music and a permanent air of quiet misery. His relationship with Randy should be the heart of the movie—a lonely kid bonding with a lost soul. Sometimes, you get flickers of that. But Kevin is constantly being yanked between “earnest protagonist,” “moral compass,” and “plot delivery system,” and it makes him feel less like a person and more like a character in search of better writing.
His big heroic skill? He knows how to use the internet and isn’t a complete piece of garbage like his father. That’s about it.
His eventual romance with Joy, the neighbor girl, is less a love story and more a contractual obligation. They team up for a road trip, toss out a few quips, and the movie checks off the “teen couple” box without generating much actual chemistry. It’s like watching two people being forced to stand next to each other in yearbook photos.
Frank Presley: Father of the Year (If the Year Is 2006)
Anthony Mackie plays Frank, a dad whose personality consists of:
-
Get rich quick.
-
Be mildly annoyed by my kid’s emotions.
-
Exploit ghost.
He uploads the Ernest video, monetizes his undead houseguest, sells their story, and only realizes this might be morally questionable when everything is on fire. He’s not so much a character as he is an embodiment of “What if clout-chasing was a parent?”
The movie flirts with the idea of critiquing Frank’s selfishness and shallow ambition… and then kind of shrugs and lets him have a redemption arc because, I don’t know, he feels bad once. It’s like the story is terrified of actually being mean to anyone who might be relatable to its target audience: “No, no, he’s not that bad, he’s just an idiot!”
Tonal Whiplash: The Movie
We Have a Ghost can’t decide what it wants to be, and not in a cool genre-blending way—more in a “the draft never got finished” way.
We’ve got:
-
Goofy family comedy: Ghost pratfalls, viral fame, wacky reactions.
-
Heartwarming drama: Dead dad, lost daughter, trauma, grief.
-
Conspiracy thriller: Ex-CIA ghost-hunter with a van and a power complex.
-
Paranormal road trip: Teenagers on the run, ghost in tow.
Each of these could be a fun movie on its own. Squashed together, none of them really work. You jump from heartfelt bonding to broad slapstick to government chase scenes, and the film never commits long enough to make any of it land. It’s emotional channel-flipping.
The CIA/Dr. Monroe subplot in particular feels like it wandered in from a different script. Tig Notaro does her dry, deadpan thing, which is amusing for about five minutes, and then you realize this whole thread exists mostly to give the story something to cut to when it gets bored of itself.
Jennifer Coolidge Deserved a Different Movie
Jennifer Coolidge shows up as a TV medium and somehow manages to be the most interesting thing on-screen in about four minutes of screentime. She’s clearly playing a parody of the “celebrity psychic” type, and her scenes are the one place where the movie’s comedy actually feels sharp.
So naturally, she’s barely in it.
If the entire film had been about a fraudulent TV medium suddenly encountering a real ghost and spiraling into chaos, we might’ve had something special. Instead, she’s used like garnish on a very bland dish: pretty to look at, gone too soon, does nothing for the flavor.
The Mystery No One Was Asking For
The big twist—that Ernest isn’t Ernest at all, but Randy, framed and murdered by his creepy brother-in-law Ernest Scheller—is… fine. On paper. But it hits way too late, and the path there is paved with exposition dumps and convenient flashbacks Kevin and Randy somehow psychically unlock together.
The idea of a ghost solving his own murder has potential. Here, it mostly serves to justify a final confrontation and a neat bow on Randy’s story. The movie is desperate for you to cry by the end, but it hasn’t done the emotional legwork—it just throws on some sentimental music and hopes you’re susceptible.
Randy’s farewell to grown-up June, his daughter, should be devastating. Instead, it feels like an after-school special about processing grief, except the kid took 40 years to come home from getting milk.
Netflix Core: The Algorithm Made Me Do It
The entire film radiates “Netflix Original Energy”: glossy, harmless, somewhat bloated, and engineered to be just watchable enough you don’t turn it off. It’s the kind of movie you put on “for something light” and then slowly realize you’ve emotionally invested in nothing and no one.
You can feel the calculation:
-
Family-friendly but edgy-ish.
-
Ghosts, but not too scary.
-
Comedy, but not too clever.
-
Drama, but not too upsetting.
The result is a movie that sits safely in the middle of everything and excels at nothing. It’s content, not cinema—a supernatural Dad Movie for people who think Casper might be too intense.
The Final Flicker
The last scene tries one more time to tug the heartstrings: Kevin wonders if Randy can still see them. The attic light flickers. Ah yes, the good old “ghost is still around” wink. It’s meant to be poignant and sweet—proof that their bond is eternal.
By this point, though, it mostly just feels like the movie is nudging you, saying, “See? Feel something. Anything.”
If We Have a Ghost haunts anything, it’s the realization that you just spent two hours on a film that wanted to be a horror-comedy-tragedy-satire-family-drama… and ended up as a mildly spooky Hallmark special in a Halloween costume.
The scariest part isn’t the ghost. It’s knowing Netflix will absolutely make three more just like it.

