Heat a large skillet over medium-high heat with 2 tablespoons oil. Pat chuck roast dry with paper towels, season both sides with salt and pepper, then sear 4 minutes per side until a deep brown crust forms. Transfer seared beef to slow cooker.
3 lbs chuck roast, 2 tbsp oil
In the same skillet, add sliced onion and bell peppers. Cook 3-4 minutes until softened, stirring occasionally. Add minced garlic, toasted cumin, oregano, and chili flakes (if using), and cook 1 minute until fragrant. Deglaze pan with ½ cup beef broth, scraping up browned bits from the bottom.
2 bell peppers, 1 onion, 4 cloves garlic, 2 tsp ground cumin, 1 tsp dried oregano, 0.5 tsp chili flakes, 1 cup beef broth
Pour the vegetable mixture over the beef in the slow cooker. Add diced tomatoes with juice, remaining beef broth, green olives with 2 tablespoons of brine, and bay leaves. Do not stir; liquid should just cover the meat.
1 can diced tomatoes, 1 cup beef broth, 0.5 cup green olives, 2 bay leaves
Cover and cook on low for 7-8 hours (or high for 4-5 hours if needed). Beef is done when it pulls apart easily with light fork pressure and shreds into strands without resistance. If liquid reduces too much after 6 hours, add ¼ cup water.
Remove bay leaves. Use two forks to shred beef directly in the slow cooker. Stir shredded beef into the sauce and let sit 10 minutes to absorb liquid. Taste and adjust salt or add a pinch of sugar if sauce is too acidic.