Chip Kelly hasn’t formally announced whether Blaine Gabbert or Colin Kaepernick will start Sunday’s preseason opener at quarterback for the 49ers, but it now appears to be a formality.

On Friday, Gabbert was sharp during a lively joint practice against the Texans, while Kaepernick didn’t throw a pass for the second straight day because of what he termed “tightness” in his right shoulder.

After the session ended, Kaepernick wasn’t positive he would play Sunday against Houston (“Yeah, I think so,” he offered). Meanwhile, Gabbert was positive he’d directed an efficient offense after unofficially completing 15 of 20 passes during 11-on-11 drills.

“I feel like we were executing pretty smoothly today,” Gabbert said. “Hitting on a bunch of passes. Seeing protections, seeing the pressures they were bringing, getting the ball out on the flat when it was there. As a group, as an offense, we moved the ball.”

Kaepernick didn’t return to a full practice after he didn’t throw Thursday because of what a team spokesman said was a “planned rest day.” On Tuesday, a trainer stretched out Kaepernick’s arm and shoulder late in practice because he had shoulder tightness, he said. On Wednesday, Kaepernick had one of his worst practices of training camp at Kezar Stadium.

Still, Kaepernick said he wasn’t “too concerned” about his injury, which he believes is tied to his inactivity in the offseason. He didn’t throw for at least five months after he had surgery on his non-throwing shoulder in late November, before undergoing procedures on his right thumb and knee in January.

Kelly, who said Kaepernick wouldn’t need an MRI, said the quarterbacks have thrown a minimum of 86 passes a day during camp. That workload evidently caught up with Kaepernick.

“Made a lot of throws, especially coming back from three surgeries,” Kaepernick said. “So want to make sure that we’re staying ahead of things.”

Kaepernick said he threw a lot in the six weeks leading up to training camp, but those throwing sessions didn’t place the same stress on his shoulder. Kaepernick, who was selected by the Cubs in the 43rd round of the 2009 draft, likened his discomfort to what he experienced as a pitcher at Pitman High in Turlock (Stanislaus County).

“I’ve experienced that a couple times in my baseball career,” Kaepernick said. “My arm’s always snapped back quick, so not too concerned about it.”

Kaepernick’s status is uncertain for Sunday, but he said he “most definitely” expects to start a game during the preseason. On Wednesday, Kelly said both quarterbacks would receive first-team snaps in exhibition games.

Briefly: DT Arik Armstead (shoulder) participated in individual drills but did not take part in team sessions. … WR Quinton Patton didn’t finish practice because of an apparent hamstring injury but said the injury wasn’t serious and he thought he’d play Sunday. … S Eric Reid didn’t attend practice because of a personal matter.

Latest from the SFGATE homepage:

Click below for the top news from around the Bay Area and beyond. Sign up for our newsletters to be the first to learn about breaking news and more. Go to 'Sign In' and 'Manage Profile' at the top of the page.