Permission Modes for AI Coding: Bypass, Auto-Edit, and Planning
AI Coding · 4 min read

Permission Modes for AI Coding: Bypass, Auto-Edit, and Planning

I have a side project. Locally, everything was good. Then I tried to deploy it on Amplify, and it just wasn’t working. Failing with something that, for me, was unexpected. I’m not an architect in AWS, so I don’t know all the ins and outs of it, that kind of stuff. I spent about an hour discussing it with the LLM, cleaning the context, going back and forth. No. It was not working.

So instead, I started from scratch. Fresh. And I said: hey, this is the issue that I have, please plan, do whatever you want, please plan, fix, blah blah. And it worked. I remember it clearly because I was in a meeting while the LLM was working on it. I finished the meeting, and ta-da — it was set.

That’s the real power of planning, for me. And it’s one piece of a bigger thing I’ve been experimenting with for the last six months: the different modes you can run Claude Code in, and knowing which one to reach for.

Bypass: the rabbit hole you need to enter

The first one, which for me now is natural but initially wasn’t, is setting Claude to bypass permissions — skip the security checks, don’t ask me every time I need to touch a file. I don’t remember the exact command anymore, that’s how automatic it’s become.

This is the rabbit hole, and you need to enter it. I’m not going to pitch you on why, or whether it’s dangerous. I never experienced real danger with it. It’s just the thing that gets you past the first step — past asking permission for every single file edit, every single command.

Bypass was my de facto standard for a while. I love the danger, the power, the risk, if I’m honest.

Auto-edit: for the small stuff

Then Claude released auto-edit, and I moved to that as well. I believe it’s way better. Now I switch between auto-edit and planning depending on the task — those are the two modes I actually live in day to day.

Auto-edit is for when something is small. I tell it what I want, it does it — it’s bypassing by default anyway, since I’ve already dangerously skipped all the permissions upstream. Fine. It did it, it did everything. That’s the whole story with auto-edit: small task, no ceremony, done.

Planning: for the fights you’re not winning

Planning is where I do a lot of things, and it’s a different story depending on the size of what you’re touching. If it’s not a lot big, if you’re not changing much code, if you’re basically just improving something — that’s one story, and I don’t reach for planning there. I use planning for tasks that are a bit longer than usual and require some actual planning — especially when I want to keep discussing something for a while.

Planning is also useful when you’re doing a bit of back-and-forth with your favorite friend — the LLM — and it’s not really solving your issue. That’s exactly what the Amplify story above was. An hour of going in circles inside the same conversation gets you nowhere. Planning restarts from scratch, and that’s the trick: it gives the LLM more power, more autonomy, more context, more information to work from. It’s slower, for sure. But it solves better.

Three levels, one dial

There are, and maybe I need a chart for this since this is a blog article, three different levels here. If you’re looking at speed versus accuracy, they sit on a line: bypass on one end, then auto-edit, then planning, because planning requires more from the model. And there’s a fourth level past all of this — GSD — which is a completely different topic. Way longer, way more accurate, and honestly deserves its own article.

Funny enough, when I try to rank them cleanly like that, I catch myself saying I’d suggest never using bypass — and then I remember it’s still my daily driver for the small stuff, dangerously skipping every permission because I love the risk. Both things are true. I’m not going to pretend they’re not.

This is one thread out of a longer brain dump — the other two are how I manage context so the LLM doesn’t lose the plot, and why I don’t think LLMs actually hallucinate the way people think they do. Different articles, same six months of experimenting.

For now: match the mode to the task. Small stuff, auto-edit. Anything you’ve been arguing with the LLM about for an hour with nothing to show for it — stop arguing, wipe the context, and plan instead. Ta-da.

← All writing