SANTA CLARA – The dog days of training camp have arrived.

And after cutting practice short on Thursday, 49ers coach Kyle Shanahan gathered his team together in the middle of the session to inform everyone they were getting no breaks today.

“I just told them early on I wasn’t going to do that today,” Shanahan said. “We had to lock in. We had to tough through this. I didn’t want to waste a day. I think guys were working, but I want people mindful in everything they do and not going through the motions so we’re getting better out there, not just getting tired.”

The 49ers have experienced the usual number of strains and tight muscles in the first eight practices of camp. Richard Sherman was among a group of players, including Dante Pettis, Cassius Marsh and Jeremy Attaochu  who either did not practice or saw a limited work day as precautions.

Sherman saw action early in practice before spending the rest of the day on the sideline. Co-chair John York approached Sherman on the sideline late in practice and the two spoke at length.

“They told me out there his hammy got tight on him so they took him out,” Shanahan said of Sherman.

The 49ers have a day off from practice on Saturday.

Offensive Play of the Day

The 49ers’ first-team offense made quick work of a move-the-chains period that began at the 25-yard line. Quarterback Jimmy Garoppolo found tight end George Kittle running down the middle of the field, between safeties Adrian Colbert and Jaquiski Tartt for a 25-yard touchdown pass. Kittle had an active day with six receptions during 11-on-11 drills, five of them coming from Garoppolo.


Defensive Play of the Day

Cornerback Greg Mabin is making a solid bid for a roster spot during training camp. He saw action with the first-team defense with Sherman and Jimmie Ward sidelined with tight hamstrings. Mabin stepped in front of Pierre Garçon to make an interception of a Garoppolo pass.

Injury report

In addition to Attaochu, defensive lineman Arik Armstead (hamstring), guard Joshua Garnett (knee), linebacker Brock Coyle (hip), offensive lineman JP Flynn (knee), tight end Cole Wick (knee) and linebacker Fred Warner (chest) did not practice. Ward was limited.

This ‘n’ That

Nose tackle tackle Sheldon Day had an impressive day, giving the 49ers’ offensive line fits and seemingly living in the offensive backfield. Day threw running back Matt Breida for a 5-yard loss on one play, then recorded a sack of C.J. Beathard on the next snap. . . It was also another strong day for DeForest Buckner, who beat left guard Laken Tomlinson for a sack and powered through Tomlinson to stop Jerick McKinnon for a 2-yard loss on an outside zone run. . . McKinnon had a rough opening to practice. On the first play of 11-on-11 work, Reuben Foster drilled McKinnon, sending him to the ground. . . Rookie receiver Richie James had a good day, including a reception of a Nick Mullens’ pass on a deep crossing pattern. James later saw some action with the first-team offense in a move-the-chains period. “We threw him in the slot today,” Shanahan said. “We’ll throw someone else in another day. He’s a tough player. He can separate and he’s done a good job. We’re going to have some good competition there.” . . . Outside linebacker Pita Taumoepenu had one of his best practices. Two snaps after getting pressure on Beathard, he beat Andrew Lauderdale with a spin move to record the sack. He also deflected a pass at the line of scrimmage . . Undrafted rookie safety Terrell Williams picked off a Mullens pass near the end of practice. . . . Dekoda Watson had back-to-back pressures against rookie right tackle Mike McGlinchey to force Garoppolo incompletions.