You really should tell people what you're feeling when there's a disagreement like this. If she wants to grab you things from the store when you're looking forward to going yourself, tell her you're looking forward to it. All you told her at the start was that you were intending to go, not why.
And while you later characterize it as a fight, you actually caved preemptively if this transcript is accurate. You felt this would become a fight and headed that hypothetical fight off but all that actually happened was she was stating her case and you said "okay". She has no reason to view that conversation as a point of tension in need of resolving, no reason to view the request for cat supplies as a peace offering the way that you do.
Lastly, when you don't tell somebody specifics, they don't automatically know whether you feel the specifics are irrelevant or you forgot to mention them or you just assumed they should already know them. These are all plausible scenarios and in the majority of them you have a preference and could be let down if it is not fulfilled. Since you're the sort of person to blow up at somebody for offenses they didn't know they were committing, she's right to be worried about failing you. She wasn't demanding you give her anything, and in situations like that you're always free to tell them there's nothing to give. "No preference what kinds. I don't know what aisle it is, you should ask somebody at the store."
That's all ways to think about these sorts of things in the future. What I suggest for right now is that you go back and relay the same core of this whole thing to her that you relayed to us:
The thing that she wants is to feel good about buying me something. But I don’t want that. That’s the disagreement.
If you lay out in plain terms this disconnect between the kind of considerate you see she's trying to be and the kind of considerate you need people to be, that would probably help her a lot.