Cookie Clicker: my own tools
October 2022 → December 20255 min read

I played Cookie Clicker in secondary school, like a lot of people back then. The idea fits in one sentence: you click a cookie. With the cookies you earn, you buy a cursor that clicks for you, then a grandma who bakes, a farm, a mine, and it never stops. Behind the joke there are minigames, and above all ascension, where you restart your run from scratch in exchange for a permanent bonus.
I came back to it much later, and ended up buying the Steam version. Along the way, I built myself two tools for the game, three years apart. First a browser extension, my very first one, then a guide for its garden.
Cheating in one line
Cookie Clicker speaks to developers. It runs in the browser, it’s all JavaScript, and it doesn’t hide it, since one of the buildings is even called "Javascript console". The flip side is that cheating is very easy. The whole run lives in a JavaScript object you can reach from the browser console, and one line is enough to give yourself as many cookies as you want.
That’s how I started, console open, pasting commands from sites that list them. The game notices, and hands you a hidden achievement with a pretty clear name, "Cheated cookies taste awful". After a while, I got bored of it. A run where you can get anything in one line isn’t worth much. On 3 October 2022, I dropped that save and started a clean one, and I never touched the console again. It’s the one I still play.
My first extension
Three days later, I went after the golden cookies. They show up at random, stay for a few seconds and pay off big if you click them in time. So you have to keep an eye on the screen all the time, when a game like this is mostly something you leave running in a corner.
The script is six lines long. It loops over the page looking for golden cookies by their CSS class, and clicks them. The loop ran with no delay at all, as fast as the browser would let it, when checking every few hundred milliseconds would have been plenty. The extension only worked on Firefox, and I had to load it by hand, as a temporary add-on, every time the browser restarted. The code is on GitHub.
Later on, I even added a click on the big cookie, before taking it out again. I was still in my "help myself with everything" phase, and I ended up dropping it, along with the rest. These days I don’t watch the screen and I don’t automate anything, I just let it run. You can see it in my save’s statistics, on the golden cookie line: just over five thousand in total, but only one since my last ascension, which was more than three months old when I took this screenshot.

A guide for the garden
There was still one minigame where I missed having a tool, the garden. It’s the trickiest of them all. You plant seeds on a grid, and two neighbouring plants can grow a third one, with a chance that depends on the species, the soil and how mature they are. Some of them spread to the tiles next door. To unlock all thirty-four seeds, you have to chain crossbreeds in the right order, with the right layouts, and every growth cycle takes several minutes.
It’s all documented on the game’s wiki, but doing it from memory is a pain, and so is going back and forth between the wiki and the game. So in July 2025, I built myself a guide, in a day. You tick the seeds you already have, and it shows the next one to go for: its recipe, its odds, the soil to use and where to put the parents on the grid. Seeds you can get right away are flagged as ready. Alongside, there’s a soil guide and the traps to avoid, like plants that contaminate their neighbours. Here, with the first seeds ticked, it suggests Gildmillet and the grid to copy into the garden:

Unlike the extension, this guide doesn’t play for me. It just gathers information that already exists, like a better-organised wiki. That’s why I used it with a clear conscience, and it really helped me unlock all of them.
A day of code
The site is built with Next.js, Tailwind and shadcn/ui components. You can follow the whole day in the git history. The project is created in the morning, with Biome and a pre-commit hook, and less than an hour later a first version of the guide already fits in a single page. I had Claude write that page. Late in the day, I split it up, moving the seeds, the recipes and the layouts into data files, apart from the display.
The recipes chain together like a family tree. A seed is ready once you have all its parents, and unticking a seed also unticks every seed descended from it. On the other hand, progress isn’t saved, so it starts over every time you reload the page.
The site was meant to hold about ten tools, like a production calculator or a stock market helper. I only built the garden one, the only one I really needed. The others stayed a list in a file, with no page behind them.
Where the project stands
The guide isn’t online and I no longer work on it. Its code is on GitHub and runs locally with Bun. I don’t use the extension anymore, but I came back to the format in 2026 with my Microsoft Rewards bot, which became an Edge extension. This time, clicking wasn’t enough: it also had to convince the site that a human was behind it.