claudekit / updates / claude-code-2-1-193
[ PATCH · ]

Claude Code 2.1.193

A new autoMode.classifyAllShell setting routes all Bash/PowerShell commands through the auto-mode classifier, and a claude_code.assistant_response OpenTelemetry log event now carries the model's response text. Bash mode (!) gains live file path autocomplete, and a startup notice points at /mcp when MCP servers need authentication. A cluster of backgrounding and agent-panel regressions gets cleaned up — backgrounding (←←) no longer spuriously cancels when all tasks carry over, and a phantom subagent that re-ran the main conversation is gone. Note that the assistant_response log starts capturing response content on upgrade for deployments that already log prompts.

Official announcement →

This article is a summary based on official documentation.

What changed

Claude Code 2.1.193 shipped on June 25, 2026. A setting widens which shell commands the auto-mode classifier inspects, a new OpenTelemetry log event carries the model’s response text, and convenience features land for bash-mode autocomplete and MCP authentication. A cluster of backgrounding and agent-panel regressions gets cleaned up, alongside improvements to MCP auth helpers and plugin auto-rename.

New features

  • autoMode.classifyAllShell setting routes all shell commands through the classifier

    Auto-mode only sent commands matching arbitrary-code-execution patterns through the classifier, so other Bash/PowerShell commands passed without classification. The new autoMode.classifyAllShell setting routes all Bash/PowerShell commands through the auto-mode classifier instead.

  • Auto-mode denial reasons recorded

    When auto-mode denied a command, it was hard to tell why. Denial reasons now appear in the transcript, the denial toast, and /permissions recent denials.

  • claude_code.assistant_response OpenTelemetry log event carrying the model’s response text

    OpenTelemetry logging could capture user prompts but had no way to record the model’s response text. The new claude_code.assistant_response log event contains the model’s response text. It is redacted unless OTEL_LOG_ASSISTANT_RESPONSES=1; when that var is unset it follows OTEL_LOG_USER_PROMPTS, so deployments that already log prompt content will start receiving response content on upgrade — set OTEL_LOG_ASSISTANT_RESPONSES=0 to keep prompts-only.

  • Live file path autocomplete in bash mode (!)

    Typing file paths in bash mode (!) had no autocomplete, so paths had to be typed out in full. Bash mode now offers live file path autocomplete as you type.

  • Startup notice when MCP servers need authentication

    MCP servers needing authentication gave no signal at startup, so the problem surfaced only after a tool call failed. A startup notice now appears when MCP servers need authentication, pointing at /mcp.

  • Automatic memory-pressure reaping for idle background shell commands

    Background shell commands held memory even while idle. They are now automatically reaped under memory pressure when idle — disable with CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP=1.

Key improvements

  • Background agents keep working on other tasks

    Launching a background agent returned a result that instructed Claude to “end your response,” so Claude stopped instead of continuing other work. The launch result no longer does this — Claude keeps working on other tasks while the agent runs.

  • MCP headersHelper auth re-runs and reconnects automatically

    When the token from an MCP headersHelper expired, a tool call could fail with 401/403 without the helper re-running, requiring a manual reconnect. The helper now re-runs and reconnects automatically when a tool call returns 401/403.

  • Plugin auto-rename follows marketplace renames maps

    When a marketplace renamed a plugin, your settings kept the old name and broke. Marketplace renames maps are now followed automatically, updating your settings to the new name.

  • Improved /add-dir message when the directory is already a working directory

    The guidance shown when re-adding a path that is already a working directory via /add-dir has been improved.

Bug fixes

Backgrounding & agent panel

  • Backgrounding (←←) spuriously cancelling with “N background tasks would be abandoned” when all running tasks carry over to the new session — fixed.
  • Pinned background agents being re-prompted to “Continue from where you left off” after every auto-update — fixed.
  • Backgrounding the main turn spawning a phantom “general-purpose (resumed)” subagent that re-ran the main conversation — fixed.
  • Agent panel hiding sibling agents when viewing a subagent — fixed.

Login & UI state

  • /model and other client-data-gated UI showing stale/empty state immediately after /login — fixed.

Notes

  • Deployments logging prompts via OpenTelemetry should review response logging — the claude_code.assistant_response event follows OTEL_LOG_USER_PROMPTS when OTEL_LOG_ASSISTANT_RESPONSES is unset. Deployments that already capture prompt content will start receiving response content on upgrade, so set OTEL_LOG_ASSISTANT_RESPONSES=0 to keep prompts-only.
  • autoMode.classifyAllShell is opt-in — by default, only arbitrary-code-execution patterns go through the classifier as before. Enable this setting to classify all shell commands.
  • Idle background shell reaping can be disabled — if automatic memory-pressure reaping of idle background shell commands is unwanted, disable it with CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP=1.