MathOptInterface includes a function eval_constraint_jacobian_transpose_product which some solvers, like MadNLP) can use to avoid materializing the constraint Jacobian. MadNLP will error when using Hessian approximation unless this method is available in the NLP evaluator.