Coding RSS

Chrome was quietly using 20 GB of my Mac's disk

October 22, 2026 • 1:41pm

The problem

I was looking at disk usage on my Mac mini and found a folder I'd never seen before, taking up 20.1 GB:

/private/var/folders/v4/pzblyf9j6rsbjb4ngnjc6nrm0000gn/X/com.google.Chrome.code_sign_clone

It held nine folders of about 2.2 GB each. Every one contained a single item, Google Chrome.app.bundle, also 2.2 GB. So I had nine complete copies of Chrome sitting in a temp directory.

I looked into it.

The v4/pzblyf… part of the path is random and will be different on your Mac. The X/com.google.Chrome.code_sign_clone part is the bit to look for.

What it is

It's a safety mechanism Chrome has used on macOS since roughly Chrome 125 (2024).

Chrome updates itself in the background while it's still running. macOS checks a running app's code signature against the files on disk. If an update swaps those files mid-session, the running browser can fail those checks, and helper processes, keychain access and similar things start breaking.

To avoid that, Chrome makes a snapshot of its own app bundle every time it launches and runs from it. That gives the running copy a stable version to be checked against, whatever the updater does to /Applications/Google Chrome.app.

Why there were nine of them

Chrome is supposed to delete its clone when it quits. If Chrome crashes, gets force-quit, or is killed during a restart or shutdown, the clone gets left behind. Nine folders meant nine sessions that didn't end cleanly.

Other people have hit this too, including one report of a 30 GB folder. It's worst for automation and testing tools that launch Chrome over and over, and some of those tools now switch the feature off.

It might not really be 20 GB

The clones are made with APFS clonefile, which shares disk blocks with the original. A clone of the Chrome version you're running now takes almost no real space, even though Finder and du report the full 2.2 GB. So it's technically not using 20 GB. But it's still using over 2 GB – an not ideal!

Clones of older versions that have since been updated away do hold onto real space. So deleting them frees a real amount, but possibly less than the headline number. To see the actual figure, compare df -h / before and after.

The fix

  1. Quit Chrome properly with ⌘Q. Closing the window isn't enough.

  2. Check that nothing is still running:

    pgrep -l "Google Chrome"
    

    This should print nothing.

  3. Delete the folder. It belongs to your user, so you don't need sudo:

    rm -rf /private/var/folders/*/*/X/com.google.Chrome.code_sign_clone
    ```<!--#mcvn-->
    
    

The wildcards mean you don't need to look up the random part of the path.

Don't do this while Chrome is open. The current session's clone is in use, and deleting it can break the running browser. Chrome creates a fresh folder the next time it starts. That's expected, and one folder while Chrome is running is normal.

Stopping it piling up again

I've set up a Hazel rule so I don't have to remember to do this.

  • Watched folder: the com.google.Chrome.code_sign_clone folder. To reach it in the folder picker, press ⌘⇧G and paste the path.
  • Conditions:
    • Kind is Folder
    • Passes shell script (embedded script):
      ! pgrep -x "Google Chrome" >/dev/null
      ```<!--#4z14-->
      
  • Action: Move to Trash

The shell-script condition means Hazel only clears clones when Chrome isn't running, so it never touches one that's in use.

You can also launch Chrome with --disable-features=MacAppCodeSignClone to switch the mechanism off. I wouldn't for everyday browsing, because it brings back the mid-update breakage the feature exists to prevent.

Quick reference for next time

# How big is it?
du -sh /private/var/folders/*/*/X/com.google.Chrome.code_sign_clone

# Quit Chrome (⌘Q), make sure it's gone…
pgrep -l "Google Chrome"

# …then clear it out
rm -rf /private/var/folders/*/*/X/com.google.Chrome.code_sign_clone

The same thing can happen with other Chromium-based apps, such as Chromium itself and some Electron apps. Look for <app id>.code_sign_clone folders in the same X directory.

Further reading

ChromeCodingGoogleGuideTech LogTechnology

Developing on 4K monitors

October 7, 2026 • 9:15am

Last year I finally got a 4K monitor. I still have two 13-year-old 27" Apple Thunderbolt displays to the left and right. But my main monitor is a 32" Samsung 4K monitor1 SAMSUNG ViewFinity S7 LS32D700EAUXXU 4K Ultra HD 32" VA LED Monitor - Black. So when I'm building/designing things like this blog I'm looking at a 4K monitor. And the first thing I realised when I started using 4K is just how tiny things like text look. But plenty of people are still on HD monitors. So it's always a bit of a shock how big this blog looks when I view it on my office’s HD monitor. It's tough – what do you design for? The new (4K)? Or the old (HD)?

CodingDesignTechnologyWalden

Walden.blog still isn’t beautiful

October 5, 2026 • 9:35pm

Walden.blog still isn’t beautiful, but I’m trying to focus on features and functionality over beauty right now.

Every site I have make I fiddle endlessly with the look. I’m trying to keep Walden light and clean.

I’ll add some niceness at some point I’m sure. But I’m actually getting used to its bareness. I’m even growing to like its serif font.

And now that things like little side images and footnotes are supported, its starting to look like a proper blog.

And I’m very proud to say that it’s still just two files1 If there’s no images on the page anyway. – the HTML page itself and the CSS stylesheet. I’m especially pleased I’ve managed to not add any JavaScript yet.

Either way, I’m determined to keep this site under 100 KB (it’s currently 5-30 KB depending on page size).

How Walden.blog looks on mobile with night mode turned on:

CodingTechnologyWalden

Walden.blog now supports books

October 2, 2026 • 1:05pm

I often reference the book I'm reading in posts. It's good to have a central place to see all my posts about a book, so I was adding a unique ID. For example, B204. An ID is a lot shorter than having to write out the book title and author. However, it also doesn't tell the user anything about the book, and my tags list was getting clogged up by these IDs.

So, I got Claude Fable 5.1 to build a separate metadata system for books! They're like tags, but just separated out for books. And it means I can show the title, author, year published, and also cover art!

It needs a bit of tweaking, but it will do for now.

Note: please ignore the books attached to this post. I'm just testing out the ability to hopefully add multiple books to a post.

Book mentioned: “Everyday Life in Medieval London: From the Anglo-Saxons to the Tudors” by Toni Mount

Book mentioned: “The Pen: A Human History” by Simon Garfield

BooksCodingTechnologyWalden