Weepu was dropped from the initial squad for the championship, which the world champions lead with four wins out of four, but earned a recall after TJ Perenara fractured his leg.
Flanker McCaw was expected to miss the rest of the championship with a knee injury but will now travel in the hope of proving his fitness for the Test against the Springboks on October 5.
Fly-half Dan Carter misses out because of shoulder injury he sustained in the 29-15 win over South Africa last week and was, as expected, replaced in the squad by Tom Taylor, who made his debut against Australia in Wellington last month.
Taylor joins Beauden Barrett and Aaron Cruden as the number 10s in the squad with the latter likely to start against Argentina at La Plata on September 28 after recovering from a knee injury of his own.
Weepu's omission from the initial squad had some writing off his Test career, particularly after Hansen said he was struggling to keep up with the pace of the game he wanted the All Blacks to play.
The 30-year-old has come through similar troughs in his 71-Test career before, though, and Hansen said he had seen improvement in the half-back's game in the national provincial championship.
"TJ has suffered a stress fracture in his lower left leg and is expected to be out of rugby for at least six weeks and, therefore, will miss the rest of the Rugby Championship," he said.
"We have selected Piri as a replacement for two reasons: one, given the environments we are going into, it would be unfair to bring in a novice half-back; and secondly, we have also seen advances in his game in the areas we asked him to improve in."
McCaw, who injured his knee when prop Charlie Faumuina landed on his left leg in last month's 28-13 victory over Argentina, will be given every chance to prove his fitness for the match against South Africa at Ellis Park.
"With Richie, we believe that the best chance of having him available to play against South Africa is by having him travel with the squad and getting 'hands-on' treatment from the All Blacks medical staff," Hansen added.
If the 32-year-old fails in his bid to play his 120th Test, Matt Todd, who made his debut against France in June, will join the squad in South Africa.
Forwards: Dane Coles, Andrew Hore, Keven Mealamu, Wyatt Crockett, Charlie Faumuina, Ben Franks, Owen Franks, Tony Woodcock, Brodie Retallick, Jeremy Thrush, Sam Whitelock, Sam Cane, Steven Luatua, Richie McCaw, Liam Messam, Kieran Read.
Backs: Tawera Kerr-Barlow, Aaron Smith, Piri Weepu, Beauden Barrett, Aaron Cruden, Tom Taylor, Ma'a Nonu, Conrad Smith, Israel Dagg, Charles Piutau, Julian Savea, Ben Smith.