module 03 permissions safety

The 1 2 3 Prompt

System Text-to-Speech Ready
Slide: 0:00 / 0:00
Slide 1 of 0Interactive Deck

Full Lesson Reference

Claude Code asks permission before it does anything that changes your machine — creating files, running commands, installing packages, pushing to GitHub, connecting to platforms. You approve or deny each action with a numbered picker.

This is the single most important interface in the product. Every session lives or dies on these decisions. Learn them properly in this lesson and you never have to think about them again.

What the prompt looks like

When Claude wants to do something that needs approval, it pauses the session and shows you options numbered 1, 2, 3 (sometimes 4). You type the number and press Enter.

A typical prompt for editing a file:

terminal
Claude wants to edit hello.md
  1. Yes
  2. Yes, and don't ask again this session
  3. Yes, and don't ask again for this project
  4. No, tell Claude what to do differently
Choose [1-4]:

A simpler prompt for running a command:

terminal
Claude wants to run: git push
  1. Yes
  2. Yes, allow all similar actions this session
  3. No, tell Claude what to do differently
Choose [1-3]:

Two ways to answer the prompt

Claude gives you two input methods. Use whichever feels faster — most power users type the number directly.

  • Option A — Arrow keys + Enter. Use the up and down arrow keys to highlight your choice, then press Enter. Good when you want to read each option before committing.
  • Option B — Type the number directly (power-user method). Just type the number — 1, 2, 3, or 4 — and the action fires instantly. No Enter required, no arrow keys. This is 10x faster and is how most experienced users answer every prompt.

After a week of using Claude Code you'll stop reading the options line by line and just hit the number that matches what you want. Your brain memorises: 1 = approve, 2 = session-level, 3 = project-level, 4 = deny. It fires in a fraction of a second.

Power-user tips to stay fast

  • Keep your hand on the number row — eyes on the prompt, fingers ready to hit 1–4. Most prompts can be answered in under 2 seconds once you know the pattern.
  • Read the first line only — Claude summarises the action on the first line of the prompt ("Claude wants to edit hello.md"). That's usually enough. Only scan the details for amber/red actions (covered in the next lesson).
  • Use Escape to abort mid-prompt — if a prompt appears for something you didn't mean to ask for, hit Escape instead of picking 4. It cancels the whole operation instantly.
  • Ctrl+C kills the session entirely — the nuclear option if Claude is doing something wrong and you want it to stop now. You'll lose in-progress work in that session, but no permanent damage.
  • Queue multiple instructions — if you're doing a sequence (edit file, run command, commit), tell Claude upfront: "Edit X, then run Y, then commit — ask me once at each step with a summary." Claude batches the prompts so you can approve all three in one pass.

What each option actually does

1. Yes (approve this one time)

Claude does the specific action it just asked about. Next time it wants to do something similar, it asks again. This is the safe default — you stay in control.

2. Yes, and don't ask again this session

Claude does this action and any similar action for the rest of this session. When the session ends (when you close the terminal), the permission resets.

Use this when you're doing repetitive work — editing 20 files, running the same command pattern, moving content between folders. It stops the interruptions without making permanent changes.

3. Yes, and don't ask again for this project

Claude does this action for the rest of time in this project folder. The permission is saved to the project and persists across sessions — the next time you open Claude Code in this folder, the permission is already granted.

Use this for patterns you're certain about in a specific project — e.g. "always allow Claude to edit files in my-client-work/" — without applying it to other clients.

4. No, tell Claude what to do differently

Cancels the action. Claude asks what you want instead. Use this whenever you're unsure — it's free to say no, Claude explains what it wanted to do, and you get to choose.

Saying no is not a failure. It's a feature. Every "no" gives you more information about what Claude was about to do.

The session vs project distinction

This trips up new members. The difference in simple terms:

  • Session = the one Claude Code session you're in right now. Ends when you close the terminal.
  • Project = the folder you started Claude in. Persists across every session in that folder, forever.

Session-level permissions are safer — they reset when you finish. Project-level permissions are more convenient but harder to take back later.

Default to session-level

Rule of thumb:

  • First time in a project — use option 1 (Yes) to stay in control.
  • Once you know what the work looks like — use option 2 (session) for repetitive stuff.
  • Only use option 3 (project) for patterns you'll definitely want forever — e.g. "always allow edits in this client folder."

Never use option 3 the first time you see a prompt. Wait until you've approved it a few times and you're sure it's safe.

How to undo a project-level permission

If you gave a permission you now regret, tell Claude:

Remove the permission you have to [action] in this project.

Claude edits the project's permission file for you. Or:

Show me all permissions saved for this project.

Claude lists them — you tell it which to remove.

Exercises

  1. Run a small task in Claude and try each option to see what it does.
  2. Default to option 1 (Yes) until you understand the pattern.
  3. Use option 2 (session) for repetitive work you're sure about.
  4. Only use option 3 (project) for patterns you'll definitely want forever.
  5. Practice picking option 4 (No) — it's free and always safe.

Next lesson: When to slow down vs approve quickly.