Jennifer (Rosalind Allen) comes home one night and finds her nanny Sophia (Candace McKenzie) dead and Zoe (Brittany Alyse Smith) in a state of panic, and she soon gets hit in the head with a fire poker. Zoe is the one holding it, but she says she was getting it away from Pinocchio and hit her by accident, and then she runs. Jennifer then spots Pinocchio nearby, and he comes alive and chases her around the house with a knife.
Jennifer eventually throws Pinocchio into the glass coffee table. Then, before her eyes, the doll transforms into an unconscious Zoe, revealing that she was the killer the whole time. When Jennifer was struck on the head, she suffered a concussion, temporarily altering her mind and making her believe that Pinocchio really was attacking her, before her mind corrected itself and she saw that it was really Zoe.
Zoe was mentally unstable and only thought the doll was talking to her and committing her crimes. Also, her actions proved that Vincent Gallo (Lewis Van Burgen) was innocent: It turns out his son had the exact same mental issues and murderous behavior that Zoe had, and he killed his son in self-defense when his son tried to kill him.
Zoe ends up being committed to a mental hospital. However, even though what she saw with Pinocchio wasn’t real, Jennifer now firmly believes that Pinocchio was truly the one responsible for everything, and she vows to get Zoe out no matter how long it takes.
Thanks Tornado Dragon!