Headless claude
Open-source Claude Code Skills that replace clicking through vendor dashboards — Stripe, Cloudflare DNS, ElevenLabs, GitHub, and more. Powered by Aria Code.
npx -y skills add iansteitz1-eng/aria-skills --skill headless-claudeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Run the `claude` CLI fast, hook-free, and unattended for automation — wraps `claude -p` with --setting-sources project (skip your user hooks + heavy auto-memory, ~2s not ~15s), --permission-mode bypassPermissions (no interactive approval prompt that would block a script), and a neutral cwd. Uses your own plan, no API key. Use when the user says "run claude headless", "scriptable claude", "claude -p keeps hanging / prompting", "call claude from a cron/agent", or is automating Claude Code.
SKILL.md
1.8 KB, 365 tokens by cl100k_base, as published. Nobody here has run it
headless-claude
The flags that make
claude -pactually behave in scripts, agents, and cron.
python3 headless_claude.py "summarize CHANGES.md in 3 bullets" # prints the command (dry)
python3 headless_claude.py --apply "summarize CHANGES.md in 3 bullets" # runs it
python3 headless_claude.py --apply --cwd ~/proj "fix the failing test" # in a repo
Why these flags
A bare claude -p in an automated context can hang on a permission prompt, fire
your editor/notify/Stop hooks, and load your whole user memory (slow). For
unattended use you almost always want:
| flag | effect |
|---|---|
--setting-sources project | don't load USER ~/.claude hooks/settings; skip auto-memory → fast, no side effects |
--permission-mode bypassPermissions | no interactive approval gate — a script can't answer one |
neutral --cwd | don't drag in a project's CLAUDE.md / file tree |
Escape hatches: --allow-hooks (keep your hooks), --safe (let it prompt). BYOK — uses
your logged-in plan, no API key.
Behavior
- Default: print the exact command (dry), exit 0.
--apply: run it, stream stdout. Missingclaude/ nonzero exit / timeout →FATAL+ exit 2.
Requires
- The
claudeCLI on PATH, logged in. No Python packages.