Heat olive oil in a large pot over medium heat. Add onion, carrot, celery, garlic, and salt. Cook for 6 to 8 minutes until softened.
Add the wine and cook for 1 minute, scraping the base of the pot. Add barley, freekeh, stock, chicken, bay leaves, and thyme. Bring to a gentle boil. Reduce heat and simmer uncovered for 15 minutes.
Remove the chicken and set aside. Continue simmering for 20 minutes, or until the grains are tender with a slight bite.
Meanwhile, shred the chicken using two forks.
Return the chicken to the pot and heat through. Stir in parsley (if using) and season to taste. Add a splash of water or stock if the soup is too thick. Serve hot.