If I add : nat to the amount it works for me:
❯ dfx canister call ryjl3-tyaaa-aaaaa-aaaba-cai icrc2_approve "(record { amount = 10_000_000_000_000_000: nat; spender = record{owner = principal \"aaaaa-aa\";} })" --network ic
(variant { 17_724 = 9_232_450 : nat })