Heat the oil in a large skillet or saucepan. Add the onions, celery and carrots with some salt and pepper and saute until the veggies begin to caramelize, about five minutes. You don't want everything to turn brown, you just need some caramelization at the bottom of the pan and on the veggies, which will really help build up flavor.
Add garlic and saute for a minute more. Stir in the mushrooms and the balsamic vinegar. Stir and saute, scraping up any brown bits stuck to the bottom of the pan, until the mushrooms are soft, 3-4 minutes.
Stir in the herbs and then the tomato paste.
Add the tapioca starch. Saute for a minute until the flour is absorbed.
Stir in the water or vegetable broth. It might seem like a lot of water but you are going to let some of it cook out and also the gravy will thicken when you puree the veggies.
Once the water boils, turn down the heat and simmer five more minutes or until the carrots are soft. Turn off the heat and carefully transfer everything to the blender. Blend into a smooth puree. Be very careful when blending hot liquids and make sure you follow your blender manufacturer instructions--keeping the vent tube on top of the blender open and covered with a kitchen towel can help, but watch your hand in case some of the hot liquid jumps as you start the blender.
Next, strain the gravy. This is an optional step but it produces a really silky and smooth gravy, so I recommend it. Pour the strained gravy back into the skillet. If it appears too thick, add up to another cup of water or stock. Mix well, then stir in the vegan worcestershire sauce and liquid aminos.
Bring the gravy to a boil, check salt and pepper and add more if needed, and turn off heat. Serve.