I second that response. More specifically, what you're running into is:
sage: S.jack(t=t) == S.jack(t='t')
False
which is indeed within UniqueRepresentation design parameters: returned values are cached on construction parameters 't' and '"t"' hash to different values. If you need better processing, you'd need to normalize the input parameters further before calling the UniqueRepresentation constructor. In your case, I think jack.Jack (which is what ends up being called) actually does expect a string. Perhaps this keyword should be renamed to "names" to comply with uses elsewhere? e.g., would R.<t>=S.jack() make sense? If so, then the following should probably be made to work:
sage: preparse("R.<t>=S.jack()")
"R = S.jack(names=('t',)); (t,) = R._first_ngens(1)"