DEV Community

Jangwook Kim
Jangwook Kim

Posted on • Originally published at jangwook.net

Claude Code June 2026 Update: Safe Mode, Opus 4.8, and Doubled Rate Limits

I ran claude --version a few days ago and saw 2.1.172. Popped open the release notes and found Safe Mode, a /cd command, Opus 4.8 as the new default, and per-category /usage breakdowns — all landing at once in early June. None of these is enormous on its own, but they stack up.

This isn't a rewrite of the release notes. I verified each feature directly with the CLI — ran claude --safe-mode myself, checked claude agents --help output, confirmed the npm version at 2.1.173. Here's what actually matters and what doesn't.


One-Line Take First

Meaningful for heavy users. Hard to notice if you use Claude Code occasionally.

Safe Mode and /cd are for when your configuration breaks. The /usage breakdown shines when you're running multiple plugins and MCP servers. The rate limit doubling has the biggest real impact — but only if you were already hitting limits.

Opus 4.8 becoming the default affects everyone immediately. But that's a model upgrade, not a Claude Code feature change.

There are disappointments too. /cd is useful but complex multi-repo setups still need separate sessions for safety. And Safe Mode should have shipped months ago. "MCP config collision crashes startup" was a recurring complaint throughout 2025. The fact that a proper diagnostic mode took this long is genuinely frustrating.


Safe Mode and /cd — When Your Config Is Broken

Safe Mode is a single flag:

claude --safe-mode
Enter fullscreen mode Exit fullscreen mode

What gets disabled? CLAUDE.md, skills, plugins, hooks, MCP servers, custom commands, agents, output styles, workflows, themes, keybindings — everything you've added on top of the base install. Auth and model selection still work normally. CLAUDE_CODE_SAFE_MODE=1 as an env var does the same thing.

I verified this in the actual claude --help output:

  --safe-mode     Start with all customizations
                  (CLAUDE.md, skills, plugins, hooks, MCP
                  servers, custom commands and agents,
                  output styles, workflows, custom themes,
                  keybindings, and more) disabled — useful
                  for troubleshooting a broken
                  configuration. Sets CLAUDE_CODE_SAFE_MODE=1.
Enter fullscreen mode Exit fullscreen mode

My setup has several MCP servers and a handful of hooks. Occasionally, a misconfigured MCP server or a buggy hook would cause the session to fail on startup. Before Safe Mode, I'd manually comment out config sections, or temporarily wipe .claude/settings.json. Now I just run --safe-mode to get a clean diagnostic baseline.

Note: admin-managed policy settings still apply in Safe Mode, so enterprise security rules don't get bypassed. Also worth distinguishing from --bare — bare mode disables even OAuth authentication. Safe Mode only disables customizations, not core auth mechanics.

/cd lets you change the working directory mid-session without breaking the prompt cache. That's real, though in practice I find I still prefer separate sessions per repo to avoid context bleed. "Nice to have, not missing it daily" is my honest read.


Opus 4.8 Default and Dynamic Workflows

Opus 4.8 shipped May 28. Claude Code switched it to the default on June 9 (v2.1.170). As of 2.1.172, it's what you get.

Anthropic calls it "a modest but tangible improvement" over 4.7 for coding and agentic tasks. Simon Willison's take was similar. In my own use, complex refactors and multi-file edits feel marginally better — fewer small mistakes — but nothing that makes me stop and notice.

The 5 agent workflow patterns for Claude Code I covered earlier map directly onto what Opus 4.8's Dynamic Workflows enables.

Dynamic Workflows lets you say "turn this into a workflow" and Claude will coordinate tens to hundreds of agents in the background to handle large tasks. The headline numbers from Anthropic:

  • Fast Mode is now 2.5x faster than previous models
  • Fast Mode pricing for Opus 4.8 is roughly 3x cheaper than it was for prior Opus versions

The price cut on Fast Mode is more meaningful than it sounds — Opus was always expensive even in fast mode. That said, Dynamic Workflows as a feature needs a workload that justifies dozens of coordinated agents. For solo developers doing typical work, that scenario doesn't come up often. I haven't found a natural use case for it yet in my personal projects.


/usage Granularity — Finally Seeing Where Tokens Go

This is the update I found most immediately actionable. It rolled out in Week 21 of May and stabilized in the June builds.

The old /usage showed you a total. "You used X tokens this month." If you had multiple plugins and MCP servers attached, you had no idea which one was responsible.

Now /usage breaks it down by category:

  • Per-skill usage
  • Per-subagent usage
  • Per-plugin usage
  • Per-MCP-server usage

The Claude Code Plugins complete guide explains how a single plugin can bundle skills, hooks, and MCP servers together. The new /usage breakdown lets you see which component inside a plugin is actually consuming tokens — not just the plugin as a whole.

In my setup, I discovered my Google Analytics MCP server was consuming far more tokens than I expected — automatic calls on every session. Now that it's visible, I adjusted the call frequency in the MCP server config. I never would have caught that before.

Also: /extra-usage was renamed to /usage-credits. Minor, but "extra" implied overage in a way that "credits" doesn't.


Rate Limits Doubled — What the SpaceX Deal Actually Means

On May 6, Anthropic signed an infrastructure deal with SpaceX, gaining access to over 300 megawatts of capacity and 220,000+ NVIDIA GPUs at SpaceX's Colossus 1 facility in Memphis.

The direct result: rate limits doubled across the board.

Claude Code rate limits comparison chart

The headline number: API Tier 1 went from 30,000 to 500,000 input tokens per minute. Pro, Max, Team, and Enterprise plans all see their 5-hour rolling window limits doubled. Peak-hours throttling was removed for Pro and Max.

You'll feel this if you meet two conditions: you've hit rate limits before, and you run long agentic sessions regularly. If both are true, this is the most impactful change in the whole release.

For me, the throttling removal matters more than the raw limit increase. Working during peak hours (10am–noon) used to occasionally stall sessions. That friction is gone now.

For API users: Tier 1 input tokens going from 30k to 500k per minute means a small team running multi-agent pipelines can do so without hitting ceilings on most workflows.


Safe Mode in Practice — When to Use It, When Not To

There's a right use case for Safe Mode and a wrong one.

Use it when: A new MCP server causes startup failures. Weird Claude behavior makes you suspect CLAUDE.md interference. A plugin update introduced unexpected behavior and you need to isolate which plugin is responsible.

Don't use it when: You're doing regular development work. Safe Mode kills your CLAUDE.md context, your skills, your MCP tools — everything you've configured to make Claude Code useful in your project. It's a diagnostic mode, not a daily driver.

Workflow tip: if the problem doesn't reproduce in Safe Mode, the cause is somewhere in your customizations. From there, disable plugins one at a time to narrow it down. Safe Mode is your starting point, not the whole diagnostic process.


Hooks: MCP Tool Direct Calls and MessageDisplay

The Claude Code hooks workflow I covered earlier got a meaningful extension in this update.

MCP tool type in hooks

You can now write hooks that call tools on already-connected MCP servers directly:

{
  "hooks": {
    "PreToolUse": [
      {
        "type": "mcp_tool",
        "server": "my-validation-server",
        "tool": "validate_before_edit"
      }
    ]
  }
}
Enter fullscreen mode Exit fullscreen mode

Previously, hooks that needed MCP access had to spawn a separate process. Now they reuse the already-running server connection. The performance improvement is real; the configuration simplification is welcome. Pre-edit validation, pre-Bash security checks — these become much cleaner to set up.

MessageDisplay hook event

Hooks can now intercept assistant message text before it's displayed — transform it, suppress it, forward it. Added in v2.1.152.

{
  "hooks": {
    "MessageDisplay": [
      {
        "type": "command",
        "command": "message-filter.sh"
      }
    ]
  }
}
Enter fullscreen mode Exit fullscreen mode

Honestly, this is a team feature more than a solo feature. Forwarding output to Slack, filtering sensitive info before display — these are organizational concerns. But it's a genuinely powerful hook point if you're building Claude Code into a team workflow.


Small Changes Worth Knowing

claude agents --json --all is new. Without --all, --json shows only active sessions. With --all, you get completed sessions too. Confirmed from the live claude agents --help output:

  --all    With --json: include completed sessions
           (the full agent view list)
Enter fullscreen mode Exit fullscreen mode

Useful for scripting around agent state — e.g., tracking when a dispatched session completes without polling a UI.

The "bash commands will be sandboxed" startup banner was removed. Sandbox status is still in /status and shows when commands are blocked. A minor QoL improvement but noticeable.

A bug where a brief backend disruption during session startup would permanently stall the session was fixed. JetBrains IDE terminal flickering was also patched.


My Verdict: Good, Bad, and What's Missing

Good:

Safe Mode arriving late is still better than not arriving. /usage granularity was immediately actionable — I found a misconfigured MCP server within an hour of the update. Removing peak-hour throttling made my morning work sessions more reliable.

Bad:

Safe Mode should have shipped in 2025. The MCP config collision problem was well-documented and long-standing. Dynamic Workflows is genuinely exciting but the personal developer use case isn't there yet — you need workloads that justify spinning up dozens of coordinated agents, and most of us don't have those day-to-day.

What's missing:

Now that /usage shows per-component consumption, the natural next step is per-component budget controls. You can see that an MCP server is consuming 40% of your tokens, but you can't cap it. That's the feature I'd actually pay attention to when it ships.

Overall, this is a "quiet maintenance" release. If you run Claude Code heavily, you'll notice the improvements. If you were expecting a headline feature, the June release notes will disappoint you. That's fine — not every month needs to ship something new. Sometimes refinement is the right move.

If you want to track updates, the What's new page in the official docs is the most reliable source. The npm package @anthropic-ai/claude-code was at 2.1.173 when I checked. Run claude update to stay current.

Top comments (0)