Your CI runner doesn’t need Claude Code’s personality. It needs the answer.
Claude Code starts up like a friend bringing the whole family — hooks, plugins, background tasks, every MCP server you’ve ever configured. (MCP is the open protocol that lets AI tools call external tools and apps.) Lovely for Friday-afternoon hacking. Terrible for a 2 AM pipeline run that must behave identically every single time.
Eight days ago — September 30 — Claude Code quietly tightened --bare: the small command-line switch that turns on “minimal mode” for automation. With --bare, the session connects only the MCP servers you name on the command line, sends no system reminders, and starts zero background tasks. A shell command that times out simply stops — it never sneaks off to the background.
The copy-paste bit:
claude --bare -p "Run all tests and report failures" --allowedTools "Read,Bash" --max-turns 10
-p is one-shot: run, print the answer, exit. --allowedTools gives the agent only Read and Bash. --max-turns 10 is a leash: finish within ten model round-trips.
Now the gotcha — because bare means bare. The MCP servers in your settings file? Not loaded — name them with --mcp-config. Your hooks? Skipped — including the one that blocks destructive commands (illustrative example). CLAUDE.md? Ignored. If your workflow starts failing strangely under --bare, it isn’t broken — it’s fasting. Feed it explicitly.
Agents are moving into real workflows fast — today OutSystems went GA for Claude Code and friends, and n8n just wired MCP into the major agent hosts. The agents that survive production are the boring, repeatable ones: same input, same output, every run. --bare gets you there.
Boring is a feature. --bare is how you make your agent boring on purpose.
Try it first on a throwaway repo — bare mode skips your hooks, and with them your safety nets.
© 2026 Honey Kiran. All rights reserved.
Honey Kiran · DevOps & Platform Engineering
DevOps, platform engineering, and AI-assisted operations — explained the practical way.
Got a one-liner that saved your pipeline? Drop it in the comments — the best ones get featured.
Examples are illustrative — validate in your own environment before running in production.
Disclaimer
This post describes my personal experience with my own systems and accounts, in my own words. It is a first-person account of what I observed and what I do in my own work — not a statement of any company's intentions, policies, or internal decisions. Where I do not know something, the post says so.
I am not affiliated with, endorsed by, or speaking for any company, product, or vendor named in this post. All product and company names are trademarks of their respective owners and are mentioned only to describe the experience accurately.
Any error messages, documentation excerpts, or figures quoted here are reproduced from my own records or from the public sources linked in the post, believed accurate at the time of writing. Product behavior changes over time; verify against current official documentation before relying on any detail.
Nothing in this post is professional, financial, legal, or security advice. Examples are illustrative — validate in your own environment before running anything in production.
Corrections are welcome: if a company named here publishes an official statement, or a detail above is wrong, I will update this post and note the correction. The goal is an accurate public record of my experience, not a verdict on anyone.

Top comments (0)