Context menu utilities fall into two groups that get conflated because they share a subject.
Additive tools write new registrations. Easy Context Menu is the well-known example: it presents a checklist of useful Windows commands — system utilities, cleanup actions, power options — and writes the shell registrations to add them. It also removes what it added, since it knows what it wrote. What it does not do is inventory what other software has registered, because that was never its purpose. It is portable, free, and effective at the job it is built for.
Subtractive tools enumerate what already exists and remove it. This is a substantially harder problem, and the difficulty is entirely in discovery. Writing a known registration is straightforward. Finding every entry that could appear in a menu means sweeping every class in the registry plus file-type associations, resolving COM handler identifiers to applications, reading installed package manifests for packaged commands, and covering the New submenu's separate mechanism — then also handling both the 64-bit and 32-bit registry views so handlers from 32-bit applications are not missed. Skip any of that and you produce a tool that shows most entries and mysteriously omits the rest.
ContextCleaner is subtractive, and it is worth stating the boundary clearly: it cannot add commands to the menu. Not a limitation being worked around — it is a different job, and pretending otherwise would send people to the wrong tool.
There is a corollary worth knowing. Entries an additive tool created are ordinary classic shell registrations, so a subtractive tool sees them like any other entry and can remove them. That is genuinely useful when the additive tool is long gone or you no longer remember what it added. The reverse does not hold: an additive tool cannot help you find or remove entries some third-party installer created.
On safety, the two differ in what they need. An additive tool writing its own known registrations carries modest risk, since it can reverse exactly what it wrote. A subtractive tool changes registrations belonging to other software, which is why ContextCleaner puts a snapshot before every apply and aborts if it cannot be written, keeps undo and redo on disk for 25 records each, refuses removal of Explorer-critical entries in the write layer rather than the UI, and records every action in a hash-chained local log. That machinery exists because the operation genuinely warrants it.