If that's EXACTLY what you have, then you have a space in there that should be.
for /f "tokens=1*" %a in ('for /r %c in ^("C:\Devapps\Projects\code\"^) do wc -l *.clw') do @echo %a, %b >>c:\linecounts.csv
In testing this, I had:
for /f "tokens=1*" %a in ('for /r %c in ^(c:\temp\^) do wc -l *.txt') do @echo %a, %b
and it worked fine... hmmm... very odd... I do see your version is otherwise the same... where is wc located (I put it in a folder that's in my path).
Well, another possibility - as I did kind of throw a curve ball there (I switched the for command from a /f to a /r (/r walks a directory structure; /f processes with more of a list format.
No reason I can see why it wouldn't be working, but try this instead (going back to the method of my first offering):
for /f "tokens=1*" %b in ('for /f "tokens=*" %a in ^('dir /b /s /a-d C:\Devapps\Projects\code\*.clw'^) do @wc -l "%a"') do @echo %b,%c>>c:\linecounts.csv