"is grounded" is not working properly

Hello, I have a very strange problem in Unity, it all started when I was creating a gravity system for my first character, using the “is grounded” node, well, so far no problem, when I decided to implement this same function in my second character, I had a problem, “is grounded” always returned a result of “true”, even though it was not touching the ground, that is, the character fell only once and that was when I started the project, once the character touched the ground, “is grounded” always remained “true” even though the character was no longer touching the ground (or even if I grab the character and lift him up), what is happening? Is it a bug? I really don’t understand how it works at the beginning and then it doesn’t.

I want to clarify certain things, and that is that there are no collisions colliding with my character or something like that.
I created an “on controller collider hit” node to find out if I was touching anything other than the terrain, and it only triggered when I touched the terrain (when starting the project), so it looks like unity is imagining that my character is colliding with something, when it is not.

The only 2 times that “is grounded” is false is when I start the project (until it touches the ground)
and the other is when I delete the “character controller” component and return it with ctrl+z (the character falls again until it touches the ground)

Sounds like you wrote a bug… and that means… time to start debugging!

By debugging you can find out exactly what your program is doing so you can fix it.

Use the above techniques to get the information you need in order to reason about what the problem is.

You can also use Debug.Log(...); statements to find out if any of your code is even running. Don’t assume it is.

Once you understand what the problem is, you may begin to reason about a solution to the problem.