I feel like this is probably a naive question with an obvious answer, but I haven't been able to think of one. So I'll ask away.
In every treatment I've seen, differential forms are required to be smooth. $0$-forms are smooth functions, $1$-forms are smooth covector fields, etc. I'm puzzled by this requirement, because the theory of differential forms doesn't seem to require us taking derivatives of order $>2$.
Clearly the $C^2$ condition is necessary for the identity $d^2=0$. But once we have this identity it seems to do away with all higher-order phenomena, and that's the end of the story.
Despite this, every treatment I've ever seen requires smoothness. What am I missing?
You can't work just with $C^2$ forms for a trivial reason: if $\omega$ is a $C^2$ form then $d\omega$ is a $C^1$ form. There are two possible options:
Since the second option is extremely tedious, you try to avoid it until you absolutely need it (and sometimes you do). For example, say you start with $C^2$ forms $\omega, \alpha$. You then define $d\omega$ which is only a $C^1$ form. Since you want $d^2 \omega = d(d\omega) = 0$, you then also need to define what is $d\mu$ when $\mu$ is a $C^1$-form. Now, you might consider $d\omega \wedge \alpha$ which is $C^1$. You can differentiate that to get $\pm d \omega \wedge d \alpha$ which a priori is only $C^0$ (being the $d$ of a $C^1$ form) but since it is also the wedge of two $C^1$ forms, it is actually $C^1$ so you can differentiate it again to get $d(d \omega \wedge d\alpha) = 0$. Note that $d^2(d\omega \wedge \alpha)$ doesn't a priori even compile as $d\omega \wedge \alpha$ is $C^1$ and you can't differentiate a general $C^1$ form twice. However, you've just seen that this makes sense.
All this aside, sometimes you want to take third derivatives. It might look like the formalism of differential forms "uses at most second derivatives" but if combine (partial) evaluation at vector fields, then this is actually false. For example, if $f$ is a function and $X,Y,Z$ are vector fields, then $d(d(df(X))(Y))(Z)$ will depend in general on the third derivatives of $f$ (this is of course not $d^3f(X,Y,Z)$ which is zero).