SANTA CLARA — Blaine Gabbert had a chance to silence his critics and win the 49ers’ starting quarterback job on Sunday against the Houston Texans.

Instead, he reminded everyone why Chip Kelly is still reluctant to anoint him the leader of San Francisco’s offense.

“It was up and down,” Kelly said when asked about Gabbert and the first-team offense’s performance.

Here’s a translation from Kelly’s dictionary: I won’t willingly hand over the keys of the offense to a quarterback who can’t consistently make simple throws. This quarterback carousel, the one making 49ers fans nauseous, could realistically last until after the third preseason game against the Packers.

Let’s not be overdramatic. Gabbert’s performance (4-for-10, 63 yards, 1 TD) was not a complete disaster against the Texans. He connected on a 43-yard touchdown pass to Vance McDonald on his last possession of the first quarter was a strong bail out card. Players were supportive of him in the locker room. Maybe he can argue he needs a few more possessions to get into a better rhythm.

But even the staunchest Gabbert apologists can’t defend his inaccurate throws against Houston. Accuracy was supposed to be his clear strength over Colin Kaepernick. Three of Gabbert’s incompletions came on throws within seven yards of the line of scrimmage. Missing Carlos Hyde on two swing passes (one Gabbert admitted as a communication error) and Quinton Patton on a simple slant route will have some players shaking their heads in the film room on Monday.

Kelly has long maintained the preseason games will hold the strongest bearing in who wins the quarterback job, which is why Sunday was disappointing for the sixth-year pro. Gabbert has been preparing months for this first preseason game — not specifically the Texans defense, but executing the offense. The NFL’s most grim quarterback controversy somehow saw its bar lowered on what might end up qualifying as the 49ers starter.

“That first drive, (there’s) a couple balls he probably wants back,” Kelly said. “Overall, there are things you can be excited about, but there are certainly a lot of things we have to clean up.”

While we all grapple with Gabbert’s performance, there was this telling quote from Kelly about Kaepernick’s status in the quarterback race.

“Colin isn’t 100 percent. It wouldn’t have been fair to put him in then to judge him on that for the competition,” Kelly said.

On one hand, the 49ers didn’t want to risk further injury to Kaepernick’s shoulder, after throwing his arm into the ground with 86 passes per day at training camp. On the other hand, Kelly didn’t want to send him out there and log bad film. Kaepernick told reporters on Friday that he expected to play Sunday; Kelly left him out to protect his confidence. Is that a telling sign that he favors Kap? The head coach has kept his cards close to the vest and by now understands he’ll have to use both quarterbacks this season. But if Kaepernick does win the job, this might be our first clue as to why.

Kelly’s gripe with Gabbert has become obvious: Two days after a highly productive joint practice against the Texans, Gabbert reverted back to the middle. He hasn’t been able to stack successful days on top of each other. He’s been jerking around the 49ers coaching staff with his inconsistencies. They love his leadership and his study habits; they detest his constant missteps.

Timing is everything in the NFL. Had Gabbert come out and launched that touchdown to McDonald to begin the game, the perception of his outing would be entirely different. But he stumbled out of the gates with a three-and-out and a Hyde fumbled ruined his second drive.

But again, timing is everything in the NFL. With Kaepernick watching in street clothes, nursing arm fatigue in his throwing shoulder, the job was sitting there on a silver platter for Gabbert to win. Competitive situations are supposed to test the competitors involved. Maybe Gabbert didn’t fail the test against the Texans, but he certainly did not pass it.

It’s sad but proving to be true: San Francisco has two backup quarterbacks vying for a starting spot. With neither man seizing the job, it has become a pick-your-poison situation for Kelly. On days like Sunday, when Gabbert can’t hit his targets, starting Kaepernick Week 1 doesn’t sound as farfetched as you may think.

And the further into August this competition drags, Kelly seems pot committed to giving Kaepernick his go-around — likely against Denver next week.

After what Gabbert just showed us, who could blame him?