This is when I try to be really specific about my language. Sometimes we colloquially refer to anything that sends something to the chat which, when processed, results in something new appearing in the chat as a "macro". This can be a character ability, a macro from the macro collection, or even a character attribute. But to answer your question we have to be a whole lot more specific. In this context, a "macro" is only the thing that comes from the Collection tab (right next to the Settings icon at the top of the Chat interface). The @{strength} construction will not work there, because there is no character sheet context for it -- even if you are speaking as that character. Separately, there are character abilities (on the character sheet) which people sometimes refer to as macros, but are different in a couple of important ways. First, if you choose to show a character ability on the token action bar, it will only show up for tokens that represent that character (not all tokens, as would be the case for macros from the Collection tab). Also, and more important to answering your question, character abilities are the only place where you can use character-less @{...} calls. You can see that in action just by putting something simple in an ability versus in a macro. My strength is @{strength}. Run that from an ability on a character sheet (even if you assign it to the macro bar or token action bar), and you will get the appropriate response. Run it from a macro and you'll get the error you described.