Counting Reward Machines (CRMs) are a powerful formalism for specifying reward functions in reinforcement learning tasks. They extend reward machines by replacing finite-state machines with counter automata, producing a more expressive (Turing-complete) framework for reward specification in RL. This increased expressiveness allows CRMs to define any task that can be represented as a well-defined algorithm, while also yielding more compact representations than standard reward machines.