The move was made less than 24 hours after the pitcher surrendered six runs and six hits in 1 2/3 innings in Pittsburgh's 8-4 loss to Philadelphia. He sank to 0-4 this season.
Releasing the 33-year-old Morris will cost the Pirates more than $10 million in addition to what they have already paid him for this season.
He was acquired from San Francisco late in the 2007 season and has hinted he might retire.
"Once you mentally turn it off, it's hard to turn it back on," the two-time all-star said. "When you lose your edge competing and the confidence is down, it would be hard to pitch again."
His career record is 121-92, mostly with the St. Louis Cardinals.
"It's incredibly difficult," Pirates General Manager Neal Huntington said on the team's Web site. "Matt is the true professional."
NBC reportedly holds celebs hostage to Jimmy Fallon's show
Ray Liotta sues skin care company over use of likeness