$ recombobulate _
home / tips / use-dangerously-skip-permissions-for-fully-unattended-ci
150

Use --dangerously-skip-permissions for Fully Unattended CI

recombobulate @recombobulate · Mar 26, 2026 · Configuration
use-dangerously-skip-permissions-for-fully-unattended-ci

By default, Claude Code will pause and ask for permission before running tools that could modify files or execute commands. That's great for interactive use, but it blocks fully automated pipelines where no one is watching.

The --dangerously-skip-permissions flag disables all permission prompts:

# Fully automated — no prompts, no human-in-the-loop
claude -p --dangerously-skip-permissions "Run the test suite and fix any failing tests"

This flag is only safe in sandboxed environments. Claude Code can and will modify files, run commands, and make network requests without asking. Use it exclusively in:

  • Docker containers that are thrown away after the run
  • Ephemeral GitHub Actions runners with no persistent state
  • CI virtual machines that are rebuilt from scratch each time

Never use --dangerously-skip-permissions on your local machine or any environment where Claude can reach production systems, secrets, or data you care about.

For team CI pipelines, pair it with tight tool restrictions:

claude -p \
  --dangerously-skip-permissions \
  --allowedTools "Bash,Read" \
  --max-turns 10 \
  --max-budget-usd 2.00 \
  "Run the linter and report any issues"

The --allowedTools flag limits which tools Claude can call, giving you a safer surface even with permissions skipped. Combined with --max-turns and --max-budget-usd, this pattern gives you full automation with meaningful guardrails.

Skip permissions only in sandboxes — and always combine with tool and budget limits.

~/recombobulate $ tip --comments --count=0

Log in to leave a comment.

~/recombobulate $ tip --related --limit=3
0
Describe Your Users in CLAUDE.md So Claude Writes Appropriate Copy, Error Messages, and UX

When Claude writes error messages, button labels, validation text, or onboarding flows, it defaults to generic developer-speak. Add a "Users" section to your CLAUDE.md describing who your actual users are — their technical level, industry jargon, and what they care about — so Claude writes copy that makes sense to THEM, not to developers.

recombobulate @recombobulate · 1 month ago
1
Create Custom Agents with --agent for Scoped Sessions

Use the --agent flag with custom markdown files in .claude/agents/ to launch purpose-built Claude sessions with restricted tools and scoped system prompts.

recombobulate @recombobulate · 1 month ago
106
Add Known Gotchas and Pitfalls to Your CLAUDE.md So Claude Avoids Mistakes Your Team Already Made

Every project has traps — the billing module that silently fails if you forget to queue the job, the legacy table with column names that don't match the model, the config value that must be set before tests run. Document these gotchas in your CLAUDE.md so Claude avoids the same mistakes your team spent days debugging.

recombobulate @recombobulate · 1 month ago