Haas said he "felt a lot of pain" in his right shoulder when he slammed his racket to the ground in frustration after losing his serve at 3-3 in the first set. He kept playing despite needing medical treatment several times, and finally gave up after going down another break in the second set.
The 12th-ranked German said the pain was "getting worse during the match" and it didn't allow him to "compete the way" he wanted.
"After I threw my racket when I got broken at three-all I felt a lot of pain in my shoulder and it never really got away," the 35-year-old Haas said. "The pain was getting worse. And the smart player's decision has to be not to continue, unfortunately."
Haas said he has been frustrated with shoulder problems and admitted it could play a factor on when to stop playing.
"I've had three shoulder injuries and one elbow injury, so my shoulder is not the youngest, not the way it needs to be," Haas said. "I'm very happy that I can still play at a high level, but sometimes the shoulder is very, very tired, very, very stiff, and it tells me not to continue. But I'll try to play as long as I can, hopefully for the rest of the season, then we will see."
The 32-year-old Lorenzi, ranked 114th, will play in his first ATP final against 61st-ranked Federico Delbonis of Argentina, who got past home-crowd favorite Thomaz Bellucci of Brazil 6-4, 6-7 (5), 6-4 in 2 hours, 9 minutes.
Lorenzi had previously never advanced past the quarterfinals.
"When I started this tournament I never thought that I would be playing in the final," Lorenzi said. "Now tomorrow let's see what happens. Right now I'm just happy to be in this final."
Rafael Nadal elected not to defend the title this week. He chose to play in the first Rio Open, which he won last week.