\def\command#1{%
\calc{#1}%
\doStuff%
}
% ...
\def\command2{%
\command{default}%
}
I suppose you are misinterpreting error-messages:
\def does not trigger but does prevent evaluation.
But when reading/tokenizing the .tex-input file TeX does tokenize the sequence \command2 as control-word-token \command trailed by the explicit character token 2 of category 12(other).
Thus with \def\command2{\command{default}} the control-word-token \command is redefined to be something that is delimited by 2 and that as replacement-text delivers the control-word-token \command for calling itself (which implies unwanted recursion), trailed by character-tokens {, d, e, f, a, u, l, t and }.
Any attempt at expanding the macro \command without a trailing 2 yields a message about usage of \command not matching its definition.
Even if the first instance of \command is trailed by 2 you get this message because in this case expansion of \command 2 yields \command {default} where you have an instance of the control-word-token \command which is not trailed by 2.
Between \makeatletter..\makeatother you can probably do something like
\def\command#1{%
\calc{#1}%
\doStuff%
}%
% ...
% defining the command:
\@namedef{command2}{%
\command{default}%
}%
% ...
% calling/using the command:
\@nameuse{command2}%
(\@namedef / \@nameuse internally use \csname..\endcsname for constructing control-word-tokens whose names may also contain digits like 2.)
\calcdoing, precisely? – egreg Apr 27 '22 at 21:24\command2but the replacement text is not evaluated at all so you can make the definition anywhere – David Carlisle Apr 27 '22 at 21:24\AtBeginDocument{}or\AtEndPreamble{}. – Peter Grill Apr 27 '22 at 21:30