Show HN: A tiny Linux tool for clearing Steam achievements

2 t9t 2 7/28/2025, 12:19:27 PM github.com ↗
When I (re)play some games, I like to clear the Steam achievements so I can earn them again and have a fuller, more complete experience when playing. Examples include The Witcher 3 and Subnautica.

In the past I used to do that using Steam Achievement Manager (SAM), but since then I have switched to using Linux. I couldn't get SAM to work on Linux, so I looked inside to see how it works and decided to make my own small tool to do what I needed.

I first tried some things with C, C++, and Go but while I achieved a little progress I couldn't get the whole thing right. In the end with some help from Claude I was able to make this tiny C application which does exactly what I need.

It loads the libsteam_api.so library and executes some calls, pretending to be the actual game from the Steam perspective. Funny thing is that your friends will even see that you are in-game while the application is running. While there does not seem to be any security or checks around this "hack", and I've used Steam Achievement Manager for many years now, there are claims and warnings online that you might get VAC (Valve Anti-Cheat) banned when you use tools like this with on-line games.

While possible, I currently don't have any intention to build a complete Steam Achievement Manager clone for Linux.

Any feedback is welcome.

Comments (2)

remix2000 · 7h ago

    $ xdg-open steam://open/console
    ] achievement_clear
...?
t9t · 7h ago
Thank you for the feedback. As far as I understand, achievement_clear only clears one achievement that you have to specify by (internal) name. So you would first have to find all achievement names, and then run the command for each one. This tool basically automates that.

Edit: reset_all_stats works though. Although that also clears any statistics the game might track. Granted not many games do that, so I guess it's useful in most cases.