Why the number comes from contracts, not statute
Texas doesn't set a blanket general liability minimum the way it does for auto liability. Instead, whoever is on the other side of the contract — a property owner, a general contractor, or a municipality — specifies what they require as a condition of working with them. The City of Austin's own contractor insurance requirements, for example, call for at least $1,000,000 per occurrence in commercial general liability coverage; $1 million per occurrence paired with a $2 million aggregate is the combination most GCs, landlords, and bid packages default to as their baseline ask.
Where contractors actually get caught out
The most common problem isn't carrying too little coverage in the abstract — it's carrying a policy that doesn't match what a specific contract requires: the wrong aggregate structure, a missing additional-insured endorsement naming the property owner or GC, or a certificate that expires mid-project. Any of those can hold up a certificate of insurance even when the underlying coverage is otherwise solid.
What to check before bidding or signing
Read the insurance section of the contract or bid package directly rather than assuming a “standard” GL policy will satisfy it, and ask specifically about additional-insured status, waiver of subrogation, and per-project aggregate requirements — all fairly common asks on Texas construction and commercial work that a generic policy doesn't automatically include.