Claude, what the fuck is going on?
A Claude Code plugin that fixes your machines and writes everything down.
/plugin marketplace add DozenTwelve/CWTFIGO /plugin install cwtfigo@cwtfigo
> CWTFIGO, kettle hits 90°C on every video call
$ cw status
.------------------------------------.
( Claude, what the fuck is going on? )
'---. .-----------------------------'
\ |
.--------.
| O o | C W T F I G O
| ~~~~ | Something's on fire? Show me.
'---..---'
____||____
[__________]
Reads nothing without your yes. Changes nothing without your OK.
Notes stay on your side: ~/.cwtfigo and your private remote
attic debian 12 last visit 2026-11-02 0 open, 1 parked
couch steamos 3.7 last visit 2026-10-19 0 open
den windows 11 last visit 2026-10-30 1 open
kettle (this machine) arch last visit 2026-11-06 0 open
lighthouse openwrt 24.10.4 last visit 2026-11-04 0 open
studio macos 15.6 last visit never 0 open
Another machine? Tell me its SSH alias.
Say its name. Then watch.
It wakes for “CWTFIGO”, “what the fuck is going on” or “一体どうなってやがるんだ”, anywhere in a sentence. Describe a problem without the name and you get a normal answer.
Every claim comes with the output behind it.
The record has kettle’s baseline: 52°C idle on 2026-10-28. To see what’s hot I’d run perf: top processes, clocks, temperatures, throttling. Read-only. OK?
> yes, I'm on a call now
$ cw approve kettle perf && cw run kettle perf
## top-cpu
38.4 firefox: RDD Process
11.0 pipewire
## cpu
package throttle events since boot: 212
## temps-fans
Package id 0: +91.0°C (high = +100.0°C)
Firefox is decoding the video on the CPU. Is VA-API there?
$ vainfo
libva info: Trying to open /usr/lib/dri/iHD_drv_video.so
libva info: va_openDriver() returns -1
The Intel media driver is missing. Installing it needs sudo, so that one is yours, in your own terminal:
sudo pacman -S intel-media-driver
Then restart Firefox and stay on the call.
> done
$ cw run kettle perf
6.2 firefox: RDD Process
Package id 0: +71.0°C (high = +100.0°C)
91°C to 71°C on the same call. Fixed, unverified until tomorrow’s real one. A line in check.sh will catch the driver going missing after an update.
$ cw save "kettle: intel-media-driver, 91°C to 71°C on calls"
saved
Nothing gets read without a yes.
The first visit learns only what the machine is. Every new kind of read asks first, and you approve each script once, by its hash. Change one byte and it asks again.
What it reads does pass through your model provider. It says so.
$ cw run studio collect
NOT APPROVED: collect on studio, never approved here (sha256 5c1d…)
# First-visit collector: what this machine is, nothing more.
# No logs, ports, processes or sensors: those are probes/,
# run only when a request needs them.
First time on studio. collect reads what it is: OS, hardware model, package managers. Nothing else. OK?
> ok
$ cw approve studio collect
approved: collect on studio
Through, around, or stopped.
A problem meets a stone the way a root does. CWTFIGO names which one you got.
| Fixed | 45% | Only once the real trigger has been through it. |
|---|---|---|
| Worked around | 24% | The harm goes, the cause stays, and the record says so. |
| Stopped | 26% | What didn’t help is put back; the problem is parked with a recheck. |
## Don't touch
- /srv/backup/.old: looks like junk, holds the 2024 photos
## Parked
- 2026-11-02 Backup disk wakes every few minutes
- stone: the USB enclosure ignores spin-down
- tried: hdparm -S 120: no change; hd-idle: sleeps,
wakes again within 10 min
- ruled out: smartd (stopped for the test),
the rsync timer (same)
- recheck: the new enclosure arrives
Every visit is cheaper than the last.
What it learns goes into ~/.cwtfigo, a private git repo on your side: what each machine is, its don’t-touch rules, its scripts, what was tried. Several machines of yours can share it through a private remote. Delete the folder and it’s gone.
| In the record as | What it is | Reached |
|---|---|---|
| kettle | Arch Linux laptop | local |
| studio | Mac mini, macOS | SSH |
| den | Windows 11 desktop | SSH |
| couch | Steam Deck | SSH |
| attic | Debian file server | SSH |
| lighthouse | OpenWrt router | SSH |
It reads what’s newer than Claude.
Training stops at a date; your packages don’t. CWTFIGO searches the failing project’s upstream tracker live, with the exact error strings.
52%the model alone
79%with live upstream search
Questions
Where does my data go?
The record stays in ~/.cwtfigo on your machine, plus a private remote if you add one. What it reads during a visit passes through your model provider, like anything in Claude Code. A bug report it drafts for upstream goes out only on your yes, with names, IPs and paths redacted.
What does it need?
git, and python3 for search. On a Mac that means the Command Line Tools: xcode-select --install. On Windows it runs in Git Bash, which Claude Code needs there anyway.
Can I make it stop asking?
cw yolo skips approval prompts for 12 hours or until cw yolo off, and only you can switch it on. Deleting data, touching partitions or anything that could lock out SSH still needs a typed yes.
What if it can’t fix it?
It says so, puts back what it changed that didn’t help, and parks the problem with what would make it worth another look: a package version, an upstream issue closing, a part arriving.
Anything that needs sudo?
Comes to you as a command to run in your own terminal, where sudo can ask for your password. It never sees the password.
Point it at the broken one.
/plugin marketplace add DozenTwelve/CWTFIGO /plugin install cwtfigo@cwtfigo
Or from a clone, to change it while you use it:
git clone https://github.com/DozenTwelve/CWTFIGO /plugin marketplace add ./CWTFIGO/plugin install cwtfigo@cwtfigo
## 2026-11-07 hot on video calls
- perf on a call: 91°C, firefox RDD 38%, throttling
- vainfo: iHD driver missing
- owner installed intel-media-driver (sudo)
- perf, same call: 71°C, firefox RDD 6%
- check.sh: warn if intel-media-driver is gone
## 2026-11-06 upgrade
- maintain dry run: 143 updates, 2.1 GB of cache
- maintain --apply: upgraded, 2.1 GB freed
- rebooted for the new kernel