What is the difference between "I am gonna have to" and "I have to"? When would you use the first one?

update: I am specifically asking about situations like the one described here.


Solution 1:

Strictly speaking, "I am gonna have to" means the request is conditional.

In the type of case you're talking about, the request is not actually conditional. It's used in conditional form as a way of making it more polite. The basic idea is that if you're merely going to have to do something, that isn't as direct as if you actually had to do it right now. Indirection and extraneous words are typical ways of making something polite.

Solution 2:

I am gonna have is the informal way of saying I am going to have, where I am going to is used to mean "intend or be likely or intended to be or do something."
Have in I have to means "be obliged or find it necessary to do the specified thing"; it's equivalent of I must.

In requests, I am going to have is used to make a more polite request.

Solution 3:

To put it simply, "I have to" means you currently are required to; "I'm gonna have to" means you will be required to at some point in the future.

As an example, when describing hypothetical situations, one would say "If he does this, I'm gonna have to do this".

By contrast, when describing a past occurrence, one would say "He did this, now I have to do this".