Squeeze the limes into a large zip top bag or bowl. Add olive oil, garlic, salt, cumin, coriander, chili powder, black pepper, and cayenne. Add chopped cilantro and mix well.
Add steak and toss so the marinade covers the meat completely.
Marinate at room temperature for 1 hour, or up to 4 hours in the refrigerator (remove from the refrigerator at least 30 minutes or up to 1 hour before cooking).
Meanwhile, prepare mushrooms (if using), peppers, and onion.
To a large grill pan or cast iron skillet on medium high heat, add 1 Tablespoon olive oil. Heat until shimmering. Add steak and cook for 2-3 minutes per side, and cook to medium rare (130°F).
Remove steak from the pan, place on a cutting board, and set aside.
Increase the temperature to high heat using the same pan. Add mushrooms (if using) and cook for 6 minutes. Remove from the pan, add to a plate, and set aside.
Heat remaining 1 Tablespoon olive oil in the pan, then add peppers and onions. Sear vegetables before stirring (about 1 minute), then stir every 30 seconds for 5-6 minutes, until vegetables are still slightly crisp. Add the cooked mushrooms and toss to combine.
Meanwhile, slice steak into long, thin strips, at a 45° angle from top to bottom. Add the steak and juices back to the pan with the vegetables. Toss to combine and cook until meat reaches desired temperature then remove from the heat.
Meanwhile, place tortillas directly on the electric or gas element on medium heat. Flip with tongs until lightly browned and warmed through. Or warm tortillas wrapped in a damp paper towel in the microwave for 30 seconds.
Serve fajita mixture on warmed flour tortillas garnished with your favorite toppings.
Notes
Nutrition calculated without toppings.
Refrigerate leftover steak fajitas in a covered container for up to 4 days.
Leftovers can be frozen in zippered bags for up to a month.
Reheat fajitas on the stovetop with a little oil and serve with fresh tortillas.