Is there a way to remove orphaned packages?

Your claim is unsupported by evidence. ‘zypper remove’ does remove dependencies unless needed by other packages still installed:

**erlangen:~ #** zypper remove --dry-run k3b 
Reading installed packages... 
Resolving package dependencies... 

The following 2 packages are going to be REMOVED:
  k3b k3b-lang 

2 packages to remove. 
After the operation, 30.2 MiB will be freed. 
**Continue? [y/n/v/...? shows all options] (y): **
**erlangen:~ #**

So, is there a way to remove all the clutter, similar to Debian’s apt autoremove? I did do a quick search on this, and found the exact same question **nine years ago **(see here). Hopefully some progress has been made on this issue.
Packages subcommand allows to query:

**erlangen:~ #** zypper packages --help                      
packages (pa) [OPTIONS] [REPOSITORY] ... 

List all packages available in specified repositories. 

  Command options: 

    --orphaned              Show packages which are orphaned (without repository). Default: false 
    --suggested             Show packages which are suggested. Default: false 
    --recommended           Show packages which are recommended. Default: false 
    --unneeded              Show packages which are unneeded. Default: false 
.....

**erlangen:~ #**


Example:

**erlangen:~ #** zypper packages --orphaned | grep @System | cut -d '|' -f3 | xargs echo zypper rm  
zypper rm aocl-linux-aocc aocl-linux-gcc boost-license1_66_0 crazydiskmark hd-idle libboost_filesystem1_66_0 libboost_program_options1_66_0 libboost_system1_66_0 libdvdcss2 libgdal27 stacer 
**erlangen:~ #**