Appearance
Text size
Typeface
Line spacing
Tips

Permissions

One at a time. Tell it whether you knew, and the ones you did not stay in your pile.

1 / 8

There are six permission modes, and Shift+Tab cycles only three.

It cycles default, acceptEdits and plan. Bypass appears only if enabled at launch, and dontAsk never appears. Start any mode with --permission-mode.

claude --permission-mode plan
The whole topic8
  • There are six permission modes, and Shift+Tab cycles only three.

    It cycles default, acceptEdits and plan. Bypass appears only if enabled at launch, and dontAsk never appears. Start any mode with --permission-mode.

  • defaultMode: "auto" in a project settings file is silently ignored.

    Only user or managed settings honour it, so a repository cannot switch your session into auto or bypass.

  • Three classifier blocks in a row, or twenty in total, pause auto mode.

    Claude Code then goes back to prompting you. A pattern of blocks is a sign the task needs a narrower allow rule.

  • A boundary you state in chat is not stored as a rule.

    Saying "don't push" works as a block signal, but compaction can drop it. For a hard never, use a deny rule or a hook.

  • acceptEdits also approves mkdir, touch, rm, rmdir, mv, cp and sed in the working directory.

    It covers more than file edits, so know what you are approving before you switch to it.

  • A Read(./.env) deny also stops cat .env, but not a script that opens the file.

    Common file-reading commands are recognised. For real confinement turn on /sandbox.

  • /fewer-permission-prompts writes a read-only allowlist from your own transcripts.

    It scans past sessions and edits .claude/settings.json, so the prompts you always approve stop appearing.

  • Deny rules still apply in bypass mode, while allow rules do nothing there.

    So a deny rule is the one guard that follows you into every mode.