Engineering

--dangerously-skip-permissions is the only safe mode
The permission prompts in AI coding agents make you less safe. The only system that works is called auth, and --dangerously-skip-permissions forces you to use it.

How Granola thinks about designing agents
Why we chose breadth over transcript-level fidelity for Agentic Chat, and how we think about useful, honest outputs when the agent has to work for everyone.
So, you think it's easy to change an app icon?
macOS icon styles We wanted to let users customize our app's icon. Sounds straightforward, right? In this post, I'll explain how macOS renders icons, why changing them at runtime is trickier than you'd expect, and how the Calendar app shows the current date in its Dock icon. Befo

How we wrote the prompts behind Granola's Crunched 2025
The challenge of building Granola Crunched was as much tonal as it was technical. Here's how we engineered prompts that felt recognizable, observational, funny, and shareable—while avoiding anything creepy, personal, or emotionally speculative.

When back becomes broken: how we found a tiny navigation bug
Bugs are everywhere. We were reminded of this recently with something very unexpected: the back button. Here’s what happened. First, a little background. With Granola's Mac app, you can access notes from a few different places. You can move between notes from within the app, from

Start with a dot-plot
When we build something new at Granola, we first create a dot-plot. This data table mostly replaces analytics like funnels and DAUs. Our dot-plot looks like: It shows users, sorted by sign-up, with how many meetings they had each day. You stand and stare at it on the Giant TV, un

Don't animate height!
Our app was mysteriously using 60% CPU and 25% GPU on my M2 MacBook. It turned out this was due to a tiny CSS animation! In this post, I show how to find expensive animations, why some are so expensive, and how to make many animations much cheaper. Along the way, we'll learn how

How to evolve a product
So you started your startup — now how do you find a great product ASAP? At Granola, we rapidly evolved a product using principles from natural selection! We made our software friendly to mutation by using repetitive code, all in one blob, with no tests. For parallel selection of





