Fixes tagged Windows

14 fixes · back to all fixes

PowerShellWindows

A log write killed the job it was logging, and the exit code still said 0

$ErrorActionPreference = 'Stop' is the setting every PowerShell guide recommends. It also promotes a failed Add-Content into a terminating error, so a file lock on the log file aborts the run from a line that does not matter, in the middle of work that does.

3 min read →

GitWindows

My editor said 10,000+ changed files and git status said 31

Both numbers were true, about different repositories. A shallow clone killed by a 60-second timeout left a repo with a valid HEAD, 6,981 files on disk, no .git/index at all, and an orphaned index.lock. With an empty index, every tracked path reads as a staged deletion.

4 min read →

WindowsAntivirus

IDP.HELU.PSE85: the antivirus killed my script silently, and it was right to be suspicious

A script that read a local credential file and POSTed it onward stopped running. No error, no exit code, no log line, no popup. It matched the behavioural signature of a token stealer, and the fix was to stop looking like one rather than to add an exception.

5 min read →

WindowsJSON

Two config keys differing only by a drive letter's case, and half your settings vanish

A tool registered a server, listed it as connected, and never loaded it. The config file held C:\Dev\Base and c:\Dev\Base as separate keys. One process wrote to one, the other read from the other, and both were behaving correctly.

5 min read →

WindowsEdge

msedge --headless --print-to-pdf exits 0 and writes no file

The command returns immediately, the exit code is 0, there is no error on stdout or stderr, and the PDF does not exist. A browser window was already open, and your invocation handed its arguments to that process and quit.

4 min read →

WindowsTask Scheduler

schtasks says the task is disabled, Get-ScheduledTask says Ready, seconds apart

AVG Gaming Mode mass-disables every Windows scheduled task and re-enables them minutes later. The trigger is not a game: browsers sit in the Gaming Mode app list, so any headless-browser automation does it to you.

6 min read →

DockerWindows

Docker Desktop -Shutdown exits 0, prints "backend already running", and shuts nothing down

The documented quit command returns success, leaves Docker running, and on one invocation spawned an extra 237 MB process. The flag is not parsed by recent builds, so it falls through to the default show-the-dashboard path.

4 min read →

WindowsTask Scheduler

Scheduled task Last Result 2147020576 on a task that runs perfectly by hand

0x80070420 does not mean the task ran and failed. It means the trigger was missed because the machine was asleep, and Last Result is sticky, so a weekly task reports the same failure every day until its next run.

4 min read →

Claude CodePython

We decided it three weeks ago and I could not find it

Claude Code writes every session to disk as JSONL and nothing reads them back. So a decision, a number, or the reason you rejected something is gone in practice the moment it scrolls out of context, even though the bytes are sitting in your home directory. Here is what searching them actually takes, including the three things that make the naive version fail.

6 min read →

WindowsPython

DETACHED_PROCESS is why your background job pops console windows

A Python git hook flashed a black console window on every commit. The flag meant to hide it was causing it, but not in the way everyone says: DETACHED_PROCESS opens no window itself. It leaves the child with no console, so every console program that child runs gets a fresh visible one.

5 min read →

PowerShellWindows

PowerShell mangles quotes in CLI args, so pass JSON by file

A curl or gh command with inline JSON works in bash and cmd but the payload arrives corrupted from PowerShell. PowerShell rewrites embedded double quotes when handing args to native executables. Pass the payload by file or stdin instead.

2 min read →

CloudflareWindows

When wrangler dies behind a corporate proxy, use the API

Wrangler and other vendor CLIs hang or throw TLS errors behind a corporate proxy that intercepts HTTPS. Skip the CLI and drive the Cloudflare REST API directly with curl and a scoped token.

2 min read →

HostingWindows

catbox.moe invalid uploader (HTTP 412) and the free image host that worked

catbox.moe answered HTTP 412 "invalid uploader" and 0x0.st had uploads switched off, both from behind a corporate proxy on Windows. A public GitHub repo served through jsDelivr's CDN gave free image URLs that stay up.

2 min read →

PowerShellExpo

PowerShell globbing mangles Expo Router [id] file paths

Reading and writing files at bracketed paths like app/[id]/index.tsx failed because PowerShell treats [id] as a wildcard character class.

1 min read →