Hi! I'd prefer all bug reports to go to the GitHub issues tab because then I have a record all in one place of what I fixed and why.
Your issue is, in fact, a bug, and it's a misleading error message. It's an error while trying to construct an error message about running off the end of an internal buffer— but the real issue is that your branch type is being misinterpreted. It's a std::vector<std::string>, but it's not being interpreted that way, so I put in a missing check for this type in uproot/interp/auto.py.
However, this is a correction on the new 3.0 version. Going from uproot 2 (which you and everybody else is using) to uproot 3 (which I'll be releasing soon), all of the code that handles non-numerical objects, such as strings, has been replaced. If you can wait until the end of the day today and are willing to use a beta version, I'll be releasing 3.0.0b2 with your fix.
Would that be okay? Back-porting this correction into uproot 2.x wouldn't make a lot of sense because all of that object-handling code is now a dead end. It would only be if users couldn't use uproot 3.x for some reason. I'd rather not go the route Python did with supporting both version 2 and 3 for 10 years.