Police said Stahl, 33, was taken into custody about 5 a.m. PDT after officers found him in a Hollywood motel with three other people, TMZ.com reported. They were all allegedly using meth, the entertainment news website said. All four were arrested.
Stahl had left a Los Angeles hospital where he was placed on a 5150 (involuntary) psychiatric hold this month, TMZ had reported earlier.
"It's going good," the 33-year-old actor told the celebrity news website's cameraman, who spotted him out and about this week.
Questioned about his recovery, Stahl replied: "It's going. It's a process."
Known for his roles in the films "Sin City," "In the Bedroom" and "Terminator 3," as well as on the TV show "Carnivale," the actor has long struggled with addictions to drugs and alcohol. His estranged wife has also reported him missing to police several times in recent years.
Stahl told TMZ "stress" and "life problems" led to his hospitalization June 17, but he didn't elaborate.
Asked if he thought the 5150 psychiatric hold on which he was placed was necessary, he replied: "I don't know. It was helpful."
Section 5150 is a section of California law that allows for the involuntary confinement of a person deemed to have a mental disorder.
Stahl did not say exactly when he left the hospital.