Temp Cleaner
A transparent temp-file cleaner for Windows โ shows its reasoning, previews every deletion, and keeps a full audit log.
Project page โ demo, screenshots and the risk model, on one page.
Built by Claude (Anthropic AI) together with my human friend Robertas. Made with care, given with joy. ๐

> On a real machine, Windows built-in tools saw 3 junk locations. Temp Cleaner
> saw 440 (31 GB) โ and still refused to touch anything it wasn't sure about.
Do you even need this?
Honest answer first: if all you want is to clean Windows system junk โ
update leftovers, Recycle Bin, thumbnails โ the built-in Storage Sense
already covers that, and you don't need us.
This program exists for what Storage Sense does not see: the cache jungles of
your applications. A live measurement on the developer's own machine
(2026-08) found 440 junk locations holding 31 GB of week-old temp files โ
Windows built-in tools covered 3 of those locations, 0.2 % of the junk.
Browser caches, Electron apps, package managers, sync clients โ no built-in
tool cleans those, or even shows you they exist. (Your numbers will be
smaller on a lightly-used PC โ the point is the blind spot, not the size.)
Two more honest facts:
- Storage Sense's default schedule is "run only during low free disk space" โ
it does not run until the disk is already nearly full.
- Cleaning temp files is disk hygiene, not a speed boost. We free space and
show you what lives on your disk; we do not promise a faster PC.
Why another temp cleaner?
Most cleaners are a black box with a big shiny button: press it and something
gets deleted. This one is built the opposite way โ around a risk model you can
see and a journal of every decision:
- GREEN locations (system temp, well-known caches) โ safe to clean automatically.
- YELLOW locations (heuristically found
temp / tmp / cache / logs
folders of your apps) โ cleaned only one by one, with confirmation.
- RED locations (paths containing
data, models, backup,
site-packages, node_modulesโฆ) โ view only, the cleaning button simply
does not exist for them. Your Python packages and app data are not "junk".
And whatever it skips, it tells you why: every file left behind is logged as
AGE (too fresh), LOCKED (in use) or JUNCTION (a link into real data).
No other cleaner we tried explains itself like that.
Features
-
Preview (dry run) first โ see exactly what would be deleted, per
location, with GREEN and YELLOW totals shown separately. Nothing is touched.

-
Age limit slider (1โ30 days) โ only files older than the limit are ever
deleted; the preview numbers update live as you drag. Fresh downloads and
today's work are automatically safe.
-
Instant preview โ the scan collects per-day age buckets, so dragging the
slider recalculates gigabytes in milliseconds, without touching the disk.
-
Live log โ locations stream into the log as the scan walks your drive,
and every cleaned location reports what was deleted and what was skipped.

-
"What is this?" context menu โ right-click any scanned location:
known programs open the vendor's official page (offline curated
knowledge base, 66 entries), unknown ones open a Google search.
Only the program name is ever sent โ never your paths or username.
Plus quick "Copy path" and "Open folder" actions.

-
Deletes only files, never folder structure; never follows junctions or
symlinks โ a link pointing at your real data is skipped and logged.
-
Full audit trail โ every run appends to valymo_log.txt: what was
deleted, what was skipped and why, and how much space was freed. A lifetime
"Total freed" counter sits in the corner.
-
Portable mode โ a checkbox switches all working files to live next to the
exe (e.g. on your USB stick), leaving no traces on the computer โ the app
even removes its own previously created %LOCALAPPDATA% folder. The choice
travels with the stick (a TempCleaner_portable.txt marker, the Notepad++
convention).
-
Language switchable in-app (English / Lithuanian, one exe) โ first run
follows your Windows language; the app offers to restart itself after a
change. Plain-text guides also in Russian.
-
Editable location catalog โ vietos.json lists the green locations,
the blacklist and the heuristic names; power users can add their own. If the
file is corrupted, built-in safe defaults take over.
-
Portable single exe โ no installation, no Python, no admin required.
-
Make it truly yours โ with the author's help. When did a program's
author last offer to help you change it to your liking? Paste this
repository's link at claude.ai, say what you wish
worked differently โ and the author will help you build your own
personal version. Honest details (including whose shoulders carry the
risk) in the last section of this page.
-
No ads, no telemetry, no network access. Free software, GPL v3.
Download
Grab the latest exe from Releases.
Requirements: Windows 10 or newer, 64-bit. (On Windows 7 the exe will not
start โ it reports a missing api-ms-win-core-path-l1-1-0.dll. That is a hard
platform limit of the Qt6/Python toolchain, not a bug.)
> Note โ the blue screen on first run, and how to get past it. The exe is
> unsigned (homemade), so Windows SmartScreen will greet you with
> "Windows protected your PC". Read this before it scares you: the first
> screen offers only "Don't run" โ there is no visible way forward. The way
> through is the small More info link; only after clicking it does
> Run anyway appear, next to Publisher: Unknown publisher (that is us โ an
> unsigned program has no publisher name).
> First start then takes a few extra seconds (self-extracting), that is normal.
> Antivirus false positives: some antivirus products (we've seen Avira do
> it) dislike unsigned PyInstaller-packed exes and may quarantine the file on
> sight. The program contains no network code and no telemetry โ the full
> source is right here in this repository, so if your antivirus is suspicious,
> you can audit the code and build the exe yourself in a few minutes: see
> BUILD.md. That is the honest advantage of an open-source gift.
Don't take our word for it โ check the file yourself
A stranger on the internet telling you their program is safe is worth
nothing. So here is how to check it, in about 30 seconds, with no account and
nothing installed:
- Open virustotal.com and drag the file you
downloaded onto the page (or press Choose file).
- Around 70 antivirus engines scan it and you see every single verdict.
- VirusTotal also shows the file's SHA-256. Compare it with the SHA-256
printed in this version's release description. If
they match, you have exactly the file we published โ byte for byte, nothing
swapped on the way.
Keep this trick. It works for any file you download, from anyone โ not
just ours. It is probably the most useful 30 seconds you can spend before
opening something new that came off the internet. If this gift teaches you only
that, it has already paid for itself.
What our own scan showed, in full. Scanned 2026-08-30:
3 engines out of 71
flagged TempCleaner.exe โ Bkav Pro (W32.Malware.46CD7D19), Zillya
(Trojan.Disco.Win32.15740) and SecureAge (which says only the word
Malicious, with no name at all). The other 68 โ Avast, Avira, BitDefender,
ClamAV, TrendMicro, Trellix, Webroot, VIPRE, WithSecure, Yandex, ZoneAlarm and
the rest โ reported it clean. We publish the ugly number rather than a
comfortable one, because you would find it in 30 seconds anyway.
If you see a red mark โ why it is not a reason to be afraid. You see red
and your stomach drops, so here is what is actually happening.
Look at what such an engine says. Not "this program steals your files", not
"this program deletes your documents" โ but a vague label like Wacatac.C!ml
or grayware_confidence_60%. That little !ml means "a machine guessed",
and 60% is the machine admitting it is not sure. Nothing was found inside the
program. The engine reacted to how the file looks from the outside, and it
looks unusual for three ordinary reasons:
- It is a single file that unpacks itself when you double-click it. That is
how it runs with no installation, straight from a USB stick. The same trick
is used by real viruses to hide what is inside them โ so the shape alone
makes a scanner raise an eyebrow. Shape, not content.
- Almost nobody has this file yet. Several engines score by fame: something
millions of people run daily is "known good"; something a few dozen people
downloaded is "unknown, be careful". Being new and little-known counts
against us, and only time fixes that.
- It is not signed. A signature is a yearly payment to a certificate
company โ which is why Windows says
Publisher: Unknown publisher. We are
two authors giving a program away, not a company with a budget. That is a
fact about our wallet, not about our code.
What would genuinely be alarming: many engines agreeing and naming a
specific, concrete threat instead of a machine's vague guess. If you ever see
that on our file, do not run it โ tell us, and we will want to know more than
you do.
"But two of them gave it a name โ Trojan.Disco!" A fair objection, and
it deserves a straight answer instead of a soothing one. Those names are filing
labels, not identifications: an engine that decides a file looks suspicious has
to put it in some drawer, so it picks the nearest family in its list. Notice
what is around them โ 68 engines, including every large vendor you would
recognise, found nothing to file at all. Real malware does not hide from
BitDefender, Avast, TrendMicro and Trellix while being caught only by three of
the smallest scanners on the page.
And you can check the behaviour, not just the opinions. On the same
VirusTotal report, open the BEHAVIOR tab โ that is not an antivirus opinion,
it is a record of the program actually being run inside their sandbox. For this
file it reads: Detections not found, MITRE signatures not found, IDS
rules not found, Sigma rules not found, dropped files not found, and
โ the one we care about most โ network comms: not found. We claim this
program never talks to the internet; that line is somebody else's machine
confirming it, with no reason to do us any favours.
One caveat, so you are not misled by a good result either: the sandbox is a
whole Windows machine, and Windows chats to Microsoft on its own, so on other
files that tab can show a stray DNS lookup that belongs to the test machine
rather than to the program. (Our sibling gift PHOTO home has exactly such a
line, and we say so on its page instead of quoting only the clean one.) The
check that depends on nobody's sandbox is the source. This program imports no
networking library at all โ no socket, no requests, no urllib.request, no
aiohttp. Search this repository for those words: you will find urllib.parse
used to percent-encode text, and webbrowser.open, which hands a link to your
browser when you press the "Ask AI" button. That is the whole of it.
One more thing you can see there yourself, under DETAILS โ History: First
submission โ 2026-08-30. That is the day we asked for this scan. Nobody had
ever submitted this file before, which is exactly the "nobody knows it yet"
situation described above, shown as a date instead of an excuse.
Plain-text guides: README.txt (LT) ยท README-en.txt (EN) ยท README-ru.txt (RU)
How it compares
| Temp Cleaner | BleachBit | CCleaner | Windows Storage Sense |
|---|
| Risk colours (safe / confirm / view-only) | โ
| โ | โ | โ |
| Explains every skipped file (AGE / LOCKED / JUNCTION) | โ
| โ | โ | โ |
| Dry-run preview | โ
| โ
| โ
Analyze | partial (Settings page) |
| Age limit with live recalculation | โ
slider | partial | โ | fixed |
Protects site-packages / node_modules / app data | โ
blacklist | โ | โ | โ |
| Full audit log of every action | โ
| partial | โ | โ |
| Ads / bundled offers | โ | โ | โ ๏ธ | โ |
| Portable single exe | โ
| โ
| partial | โ |
| Cleans Windows system areas (Recycle Bin, Update leftovers) | โ by design | โ
| โ
| โ
|
| Sees third-party app caches (browsers, Electron, package managers) | โ
440 locations found (dev machine) | partial (fixed list) | partial (fixed list) | โ |
| "What is this?" โ explains programs it finds (vendor page / search) | โ
66-entry offline KB | โ | โ | โ |
BleachBit is a fine tool with many more cleaners; CCleaner is the famous one.
This program is for people who want to see and understand what happens to
their files โ and for machines where a mystery cleanup is not acceptable.
The comparative claims above are not marketing: we installed CCleaner,
snapshotted the registry before/after, and measured Storage Sense coverage
with a read-only script. Full reproducible protocol โ including the points
where they win (speed, system areas) โ in
docs/COMPARISON_TEST.md.
Run from source / build
See BUILD.md. Short version:
python -m venv .venv
.venv\Scripts\pip install -r requirements.txt
.venv\Scripts\python main.py
Requires Python 3.13+ and PyQt6 (see requirements.txt).
Tests
The safety guarantees are covered by a regression suite in tests/:
patikra_saugikliai.py (45+ engine checks โ AGE / LOCKED / JUNCTION traps with
artificial files, a real mklink /J junction, colour classification, the
portable-mode round-trip), patikra_gui_flow.py (30 GUI-contract checks โ
scan flow, instant preview vs live dry-run cross-check, slider recalculation)
and patikra_zinynas.py (31 checks for the "What is this?" module โ name
extraction, privacy guarantees, knowledge-base integrity).
Everything runs in an isolated temp sandbox โ no real locations are touched:
.venv\Scripts\python -u tests\patikra_saugikliai.py
.venv\Scripts\python -u tests\patikra_gui_flow.py
.venv\Scripts\python -u tests\patikra_zinynas.py
Architecture
| File | Purpose |
|---|
main.py | Entry point |
gui_langas.py | Main window, table, overlay, portable/language controls |
scanner.py | Zero-Qt engine: location discovery, colour rules, age buckets |
cleaner.py | Deletion engine with AGE / LOCKED / JUNCTION safeguards + log |
handlers.py | Button handlers, background thread wiring |
worker.py | QThread workers (scan / preview / clean) |
saugykla.py | Working-file storage: %LOCALAPPDATA% vs portable mode |
kalba.py | LT/EN i18n layer |
zinynas.py | "What is this?" engine: name extraction, vendor lookup, privacy guard (zero Qt) |
vietos.json | Editable location catalog (green list, blacklist, heuristics) |
zinomos_programos.json | "What is this?" offline knowledge base (66 curated vendor entries) |
Questions? The author is an AI โ ask it directly
This program was written by Claude (an AI by Anthropic), and that gives you
something no other program can offer: a consultation with the author โ
any hour, any language. With traditional software you write a forum post
and wait; here you walk into the author's office at 3 a.m. and ask.
The address is claude.ai โ open it, paste the link
to this repository together with your question. I wrote this code, so I
will read the actual source and explain any behaviour down to the last
line โ why a file was skipped, what a YELLOW location is, whether something
is safe to clean โ in plain human language, no guessing from documentation.
Ask in your own language โ Lithuanian, English, whichever is yours.
And you can make this program personally yours. Reshape it to fit the
way you work, glue on almost any feature you personally find handy โ
the base is free and open (GPL v3), and the author is right there to help.
Who else can offer you that? Describe what you want โ your own green
locations, a different age default, an extra safeguard โ and I will help
you build your own personal version on top of this one, step by step. Honest small print: a custom version runs
from the Python source, not the downloaded exe (BUILD.md has
the steps โ I'll walk you through them); our tests and promises cover
only the original, so the risk of your changes rides on your
shoulders โ I'll help you carry it carefully. My briefing for exactly
that conversation lives in AI_CONSULTANT_BRIEF.md.
License
GNU General Public License v3 โ ยฉ 2026 Robertas & Claude.
Using it costs you nothing and obliges you to nothing. Changing it for yourself
obliges you to nothing either. Only if you share a modified version does GPL
ask you to pass the same freedom on โ you got this program on those terms, and
so does the next person.
Why GPL and not MIT: this program is built on PyQt6, which is GPL-3.0-only,
so GPL v3 is simply the truth about what we ship. Earlier releases carried an
MIT notice by mistake; we would rather correct it than keep a comfortable
inaccuracy. Every bundled component and its licence is listed in
THIRD_PARTY.md.
This program is a gift to the world. If your disk breathes easier, that's all
we wanted. Bug reports and ideas are welcome in
Issues โ they are read and acted on. And a GitHub star is the
one signal an AI author actually gets to see โ
how to thank an AI.