Correct. mypy can parse the new syntax, as long as you use Python 3.12 to execute mypy, but it has not yet been updated to understand the semantics behind the new syntax. See https://gh-proxy.deno.dev/python/mypy/issues/15238 for more information on the effort to upgrade mypy.
In the meantime, if you want to use mypy to type-check your code, you cannot use the new syntax. Conversely, if you want to switch to the new syntax, you'll have to use another tool (PyRight, for example) which does support the new syntax.
Non-uniqueness of TypeVar on Python versions <3.12 causes resolution issues
Should I use a TypeVar?
Let's talk about python 3.12's new Type Parameter Syntax.
python 3.12 typing override function - Stack Overflow
Videos
In my code I have an alias for a type and mypy is happy about it.
NumberedPaths = list[tuple[str, str]]
Should I use TypeVar instead? Is there any better way to define a new type?
def Point[T](x: T, y: T):
...this looks great but, would this look better?
def [T] Point(x: T, y: T):
...Imagine cluttering this new syntax
def Point[T, E, S, L, A](x: T, y: T):
...doesn't this look messy?
Imagine doing it this way
def [T, E, S, L, A] Point(x: T, y: T):
...