Claude Code's 11 September release: plugin evals, output-style switching, and a broad reliability sweep
Claude Code ships plugin eval scoring, /output-style switching, Bash-edit diffs, and dozens of reliability fixes in its 11 September release.
The 11 September 2026 Claude Code release is a broad one. There are three headline additions, a handful of meaningful quality-of-life improvements, and enough under-the-hood fixes to make this worth reading even if none of the headline features apply directly to you.
claude plugin eval: scored, reproducible plugin testing
The most significant addition for plugin authors is claude plugin eval. It runs a plugin’s eval suite against Claude Code and produces scored, reproducible results in both JSON and HTML report formats. Run claude plugin eval --help to see the full set of options.
The workflow is straightforward: write test cases, run your plugin against them, score the results, then run the same cases without the plugin and compare. That comparison is the useful part. It gives you a concrete answer to the question of whether your plugin is actually improving Claude’s behaviour, rather than relying on impressions from ad-hoc testing.
For plugin developers, this removes a real gap. Until now, testing a plugin meant manually checking outputs and hoping your intuitions were right. Scored, reproducible evals mean you can iterate with confidence, catch regressions, and make a credible case to others that your plugin is worth using.
/output-style: switch output modes mid-session
A new slash command, /output-style [name], lets you list and switch between output styles at any point in a session. Critically, it works over Remote Control and in cloud and headless sessions, not just in an interactive terminal.
This matters because output style preferences are not always known at session start. If you are running Claude Code in a CI pipeline or a cloud environment and you need to change how responses are structured mid-run, /output-style makes that possible without restarting the session. The built-in “Concise” style, for example, leads with the result and skips preamble, which is useful when you want tighter output for automated processing.
For most day-to-day users this is a small but welcome convenience. For teams running Claude Code in non-interactive environments, it is a meaningful capability addition.
Bash-edit diffs appended to tool results
When the Bash tool handles file edits, Claude Code can now append a diff of the changed files directly to the tool result. This is controlled by the bashEditDiffEnabled setting.
The practical effect is that you get visibility into what a Bash command actually changed, inline, without having to separately inspect the files or run your own diff. If you are reviewing what an agentic session did to your codebase, having the diff in the tool result makes that audit considerably easier.
Observability improvements for enterprise teams
Two OpenTelemetry changes are worth noting for teams running Claude Code in monitored environments.
A new environment variable, OTEL_METRICS_INCLUDE_REPOSITORY, tags OpenTelemetry metrics and events with vcs.* repository attributes. Commit events also pick up vcs.ref.head.* attributes when OTEL_LOG_TOOL_DETAILS is set. If you are aggregating telemetry across multiple repositories, this gives you the repository context you need to make that data useful.
The release also changes how Claude apps gateway sessions export telemetry. Sessions now export OpenTelemetry directly to a collector named in OTEL_EXPORTER_OTLP_ENDPOINT, rather than routing through the gateway’s relay. Sessions without a named collector continue to use the relay. This reduces a layer of indirection and should improve reliability for teams with dedicated collectors.
A related bug fix: telemetry settings pushed through server-managed settings were being silently ignored on warm starts, including in desktop Code sessions. That is now corrected.
VS Code: automatic session archiving
VS Code users get a new “Archive inactive sessions” setting, defaulting to 14 days. Sessions inactive beyond that threshold are archived automatically, which keeps the session list manageable without requiring manual housekeeping.
Two VS Code bugs are also fixed: the sidebar chat no longer comes back blank after a Reload Window or restart when the conversation had been open for more than ten minutes, and a layout issue with the “Remote Control is active” message dot has been corrected.
The reliability fixes that matter
Beyond the headline features, the release includes a substantial set of fixes that collectively improve day-to-day reliability:
Prompt cache stability. Two prompt cache bugs are resolved. The first affected SDK sessions using excludeDynamicSections, where the first message was being re-rendered on every request, breaking prompt caching and extended thinking mid-session. The second caused the prompt cache to be invalidated whenever the OAuth token refreshed in sessions with telemetry disabled.
Permission checker gaps. A security fix closes a case where a Read or Edit deny rule was not applied when an env -C, eval, or similar command that the permission checker cannot analyse appeared on the same line. This is the kind of edge case that is easy to miss but important to have closed.
Model-access stability. Entitled users were sometimes being told a model is restricted after a restart or in the Desktop Code tab, because a cached model-access denial had gone stale. Separately, a running session could silently switch to the organisation’s default model when another Claude Code process refreshed a stale model-access entry. Both are fixed.
Windows reliability. PowerShell tool commands sent to the background no longer stop when Claude Code exits.
Terminal and keyboard improvements. SSH sessions and unrecognised terminals now get better keyboard support. Terminals that respond to the kitty keyboard query, including foot and Alacritty 0.16 and later, now correctly handle Shift+Enter and Ctrl+Shift shortcuts.
Performance in long sessions. Transcript updates no longer re-process the entire conversation to build collapsed tool-use summaries. In long sessions this should be noticeably more responsive.
Internationalisation. Prompt suggestion filtering now handles Japanese, Chinese, and Korean text more accurately, keeping mixed-script and single-word suggestions and dropping evaluative meta-text the same way it does for English.
The overall picture
This release does not pivot Claude Code in a new direction. It extends the plugin ecosystem with testable, scored evals, adds flexibility to output styling across all session types, and improves Bash tool transparency with inline diffs. Underneath those additions is a substantial set of fixes that address real friction points, particularly around prompt caching, model access, telemetry, and Windows reliability.
If you maintain a Claude Code plugin, claude plugin eval is worth trying immediately. If you run Claude Code in cloud or headless environments, /output-style and the gateway OTel change are worth reviewing. For everyone else, the reliability fixes will simply mean things work a bit more consistently than they did before.