What is the difference between --dangerously-skip-permissions and bypassPermissions?

claude --dangerously-skip-permissions
claude --permission-mode bypassPermissions

Two spellings of one mode — identical behaviour.

Answer

They are the same thing. claude --dangerously-skip-permissions is documented as equivalent to claude --permission-mode bypassPermissions, so neither is safer than the other. Use the explicit --permission-mode form in scripts and shared configuration, because it names the mode rather than describing it.

What it does

--dangerously-skip-permissions is a shorthand. The CLI reference documents it as equivalent to --permission-mode bypassPermissions.

claude --dangerously-skip-permissions
claude --permission-mode bypassPermissions

Both start the same mode, with the same behaviour and the same guardrails. The difference is only in how the flag reads.

There is a third flag with a confusingly similar name, and it does something else:

claude --allow-dangerously-skip-permissions

That one does not start in bypass. It adds the mode to the Shift+Tab cycle so you can reach it later, and the session begins in whatever mode it would have used anyway.

When to use it

Prefer the explicit form in anything another person will read:

claude --permission-mode bypassPermissions

It names the mode, which makes it greppable alongside the other modes and obvious when someone is scanning a script or a CI configuration.

The short alias is convenient when typing a one-off command in a terminal you control. Its name is doing a job there — it makes the risk visible at the moment you type it.

When not to use it

Neither flag belongs in a shared configuration file that other people inherit without noticing. See how to set a default permission mode for where that setting lands and who it affects.

Example

These two sessions are indistinguishable once started:

claude --dangerously-skip-permissions
claude --permission-mode bypassPermissions

Both refuse to start as root on Linux and macOS:

--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

The error names the alias regardless of which form you typed, which is itself a hint that they resolve to one mode.

Common mistakes

Reaching for either as a first step. The usual reason to skip prompts is one command asking repeatedly. A permissions.allow rule for that command solves it without removing every other prompt in the session.

Reading --allow-dangerously-skip-permissions as a third spelling of the same thing. The prefix changes what it does, not how loudly it warns you.