First, make your dye colors.
The red/pink you can use beet or pomegranate juice. I used harissa which started to make it too orange so added some beet juice. If you want to make your own beet juice, simmer a small peeled and diced beet in a little bit of water until pink or use a juicer.
The orange is paprika, the yellow is tumeric.
For the green, simmer 2 cups of spinach in just enough water to cover when the spinach is packed down (I used about 1 cup). Simmer 15 minutes until spinach is very wilted and water is very green. Cool the spinach in the liquid and blend in a blender or food processor. I used this straight up, spinach pieces and all, or you can drain it.
For the blue, take half a purple cabbage and wash, core and chop it. Simmer for 10 minutes in just enough water to cover it (I used about 1 cup). Cool cabbage in the water. Drain the cabbage reserving the liquid and add just enough baking soda to to turn it blue. It works!
For the purple, simmer 1 cup fresh or frozen blueberries in 1/4 cup water until they fall apart. Cool, drain, and reserve the liquid.
Now, make your challah dough. Prepare the yeast in a large mixing bowl for a stand mixer by whisking it with warm water and 1 teaspoon sugar (that helps activate the yeast). Let stand until it foams and puffs up, about 10 minutes. If it doesn’t get foamy, your yeast is either bad or the water was too warm or cool. Try again!
Using the whisk attachment for the stand mixer, or you can totally do this by hand, mix the remaining sugar, eggs, oil, and honey. (You can use a whisk if you’re doing this by hand.) Gradually add 3 cups flour and then salt, either using a hook attachment with the stand mixer on medium speed or a spoon and your hands until the dough begins to pull away from the sides. Dough should still be slightly sticky and soft. Add more flour if the dough is very sticky but don't knead yet too much yet, just until the dough comes together. You will knead the dough when you add the color so you don’t have to knead too much now.
Then divide your dough into six even pieces. I used a food scale to weigh them out.
Flatten out each piece one at a time (keep the others covered) and put some of each of the homemade food coloring in the middle of each one. Then mix until your dough is dyed! This will take a few minutes for each, so be prepared. Add enough of each to get desired color. For the liquid food coloring, you will keep to add more flour. You want the dough to be just barely sticky but not sticking to your hands.
Place the dough in a bowl greased with oil and cover. Let dough rise in a warm place until it has at least doubled in size, about 2–3 hours. I put mine on top of an oven heated to the lowest temperature. I put red/orange, yellow/green and blue/purple together in three separate bowls so they didn't mix too much.
Now time to braid! You can make two smaller challot or one large challah. If you're making two, divide each color in half.
Take one of each color and make six even strands. If you are having trouble getting them to roll out, let the gluten relax and try again. Line them up in rainbow order and pinch at the top to secure the end. Then take the purple strand on the right and move it across all the way to the left. Take the red strand on the left and move it all the way to the right. Then move the purple strand to the middle between the strands and replace it with the blue on the left (the second from the right.) Take the red and put it in the middle now, and replace it with the orange on the right (second from the left. Repeat with braiding until you reach the bottom. Secure the other ends together and tuck them under the challah. Repeat with other challah.
Then let your challah proof again on a parchment lined baking sheet, lightly covered, until doubled in size and appears light and fluffy, about 45 minutes. Pre-heat the oven to 350 degrees F. Whisk the last egg yolk with 1/2 tablespoon water and generously brush over challah bake for 30-35 minutes at 350 degrees, rotating pans halfway through. If the challah start to brown too fast, cover with foil until done.
Cool slightly and eat! Best fresh or freezes well.