"I will plead guilty because of the plea deal," Castro answered repeatedly as Cuyahoga County Common Pleas Judge Michael J. Russo went through the indictment.
The agreement imposes a sentence of life without parole plus an additional 1,000 years.
"You're not getting out," Russo told him.
The agreement eliminated the chance Castro would be sentenced to death. Among the 937 counts against him was one involving the death of a fetus caused by an assault.
"Do you have any reason to hope you would get out of prison before you die," Russo asked.
"I don't think there's any reason," Castro said, later adding that once he was arrested he thought he'd have "the book thrown at me."
"When I first got arrested and interviewed ... I said I was willing to work with the FBI and I would tell them everything," Castro said.
Castro, 53, was arrested May 6 after Amanda Berry, Gina DeJesus and Michelle Knight were freed from his home by a neighbor.
During Friday's hearing, Castro acknowledged he understood the evidence against him, said he had had time to review the plea bargain and accepted it but did not like the language describing him as a sexually violent predator.
"I don't care for the wording," he said.
The judge asked Castro repeatedly whether he understood he was giving up his right to a trial, his constitutional rights and the right to appeal his sentence.
"I put my trust in my lawyers," Castro said.
The agreement, in part, provides for Castro to turn over his property, belongings and savings to the county and state, and not to try to profit from "any aspect of this case," Russo said. Forty counts of the original 977 were dropped.
Prosecutor Thomas McGinty said Castro's house would be torn down.
The hearing was interrupted briefly when one of Castro's attorneys noticed some of the charges involving rape and kidnapping had been included in the wrong section.
Sentencing was set for Aug. 2.
Teacher apologizes for showing sexual image of herself in class
Senate Democrats to pull all-nighter on climate change