I had this same issue and resolved it using the sum
function:
using Flux
m = Chain(Dense(2, 1))
x = zeros(2)
# Flux.hessian(m, x) throws "ERROR: Function output is not scalar"
# Flux.hessian(v->m(v)[1], x) throws "ERROR: Nested AD not defined for getindex"
Flux.hessian(v->sum(m(v)), x) # works
Tracked 2×2 Array{Float64,2}:
0.0 0.0
0.0 0.0