Claude Cruise ππ¨
Anthropic recently announced auto mode:
Auto mode provides a safer long-running alternative to
--dangerously-skip-permissions.
I saw this as an interesting middle ground between YOLO mode (--dangerously-skip-permissions) and approval fatigue, but I immediately ran into some problems and instead found my own solution: cruise mode.
To step back for a moment, I have very carefully curated, largely user-scoped permissions for Claude β auto-approve, always deny, sandboxing β but what I have found is that there are edit/write actions (send Slack message, update Jira tickets, push and create pull request) where I run into approval fatigue, especially for bulk actions. The answer is not to always allow these actions. I have seen Claude go off the rails too often for that, but I do want a surgical way of auto-allowing actions. To be clear, there are right and wrong times for cruising:
- β A long-running conversation without a targeted objective: I have seen Claude mix up Slack channel IDs when there are multiple in its history. Or if I have approved an action in the past, it can get eager and just go without checking in, only for me to later realize I was spamming Slack with messages I didnβt approve.
- β A clean conversation with a clear objective: This is an art, not a science, but with practice you develop intuition for when a conversation is likely to go off the rails and can assess your risk tolerance.
Problems with auto mode
There are two main realizations I had while exploring auto mode.
1. You need a team plan
It may be easy to glance past this:
Auto also requires a Team planβ¦so the option may remain unavailable even with the flag.
Turns out --enable-auto-mode just makes it an available option in the Shift+Tab cycle. To enable it by default you should set --permission-mode auto, however if it is unavailable nothing will change, which you can see by cycling through the permission modes.
2. LLM classifier isnβt the right tool for the job
I still like the idea, especially the fact that you can customize the classifier prompts. But I tend to agree that non-deterministic solutions arenβt solutions.
Enter cruise mode
The realization in these stumblings is that the better approach was already there: --allowedTools. You can simply have a list of allowed tools that extends your defaults when starting/resuming a Claude Code session. Itβs deterministic, immediate, zero token cost, and it can be combined with any permission mode.
Shell Function
Because the command is verbose, I have it as a shell function in my ~/.bash_profile:
claude-cruise() {
CLAUDE_CRUISE=1 claude --permission-mode acceptEdits \
--allowedTools "mcp__plugin_slack_slack__slack_send_message" \
--allowedTools "mcp__plugin_slack_slack__slack_schedule_message" \
--allowedTools "mcp__plugin_atlassian_atlassian__transitionJiraIssue" \
--allowedTools "mcp__plugin_atlassian_atlassian__editJiraIssue" \
--allowedTools "mcp__plugin_atlassian_atlassian__addCommentToJiraIssue" \
--allowedTools "mcp__plugin_atlassian_atlassian__createJiraIssue" \
--allowedTools "mcp__plugin_atlassian_atlassian__createIssueLink" \
--allowedTools "mcp__plugin_atlassian_atlassian__addWorklogToJiraIssue" \
--allowedTools "mcp__plugin_github_github__create_pull_request" \
--allowedTools "mcp__plugin_github_github__update_pull_request" \
--allowedTools "mcp__plugin_github_github__update_pull_request_branch" \
--allowedTools "mcp__plugin_github_github__push_files" \
--allowedTools "mcp__plugin_github_github__pull_request_review_write" \
--allowedTools "Bash(git push)" \
--allowedTools "Bash(git push *)" \
"$@"
}
Of course you can customize β add/remove tools to your comfort level.
Statusline Indicator
I have a custom statusline providing extra information for my session. CLAUDE_CRUISE=1 drives a ππ¨ indicator in the status bar. You can see the updated script here.

Tip: Mid-Session Upgrade Workflow to Cruise Mode
Useful when you hit approval fatigue partway through a task. Again, the primary use case to me is bulk operations or a clear workflow where the tracks are laid for high probablility of success.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β―Β /rename
β―Β /exit
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
$ claude-cruise --resume "<session-name>"
I still like the idea of auto mode. There is no perfectly secure system that is also useful. Assuming it is reasonably efficient and effective, I will welcome one more layer of security when it is ready, and I will likely fold it in with --allowedTools.
Happy cruisinβ!