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.

Jim Fisher11 May 2026

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.

Toby, Robert & Xiuting06 May 2026

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

Dante09 Feb 2026

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.

Jo Barrow17 Dec 2025

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

nick07 Jul 2025

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

Jim Fisher10 May 2025

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

Jim Fisher29 Jan 2025

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

Jim Fisher25 Jun 2024