Claude Code v2.1.160: Safety Prompts for Shell Config, acceptEdits File Protection, and Dozens of Bug Fixes

✍️ OpenClawRadar📅 Published: June 2, 2026🔗 Source
Claude Code v2.1.160: Safety Prompts for Shell Config, acceptEdits File Protection, and Dozens of Bug Fixes
Ad

Anthropic released Claude Code v2.1.160, a maintenance update that adds safety prompts for shell configuration file writes, tightens acceptEdits mode restrictions, and fixes over a dozen bugs affecting Windows, WSL, background agents, and terminal rendering.

Ad

What's Changed

Security & Safety

  • Shell startup file protection: Claude now prompts before writing to .zshenv, .zlogin, .bash_login, and ~/.config/git/ — files that could lead to unintended command execution if modified silently.
  • acceptEdits mode hardening: Writing to build-tool config files that grant code execution (e.g., .npmrc, .yarnrc*, bunfig.toml, .bazelrc, .pre-commit-config.yaml, .devcontainer/) now triggers a confirmation prompt.

Edit Workflow Improvements

  • Single-file grep/egrep/fgrep commands now satisfy the read-before-edit check — no separate Read step required before editing.

Bug Fixes

  • Windows clipboard on WSL: Copy-on-select now uses PowerShell interop instead of OSC 52, fixing clipboard writes in terminals like MobaXterm that didn't support OSC 52.
  • Session history loss: Fixed two bugs where restoring a completed session from claude agents or re-attaching a background session after overnight retire dropped chat history and re-ran the original prompt.
  • Daemon startup race: Fixed claude --bg occasionally failing with "socket missing" on loaded machines during cold start.
  • Windows directory locking: The directory where a background session started can now be deleted after claude rm without waiting for the daemon to exit.
  • Agent list status: Background agents that resumed work no longer appear under "Completed".
  • Auto-updater freeze: Fixed claude agents freezing for several seconds when returning to the session list due to the auto-updater re-checking on exit.
  • Windows input unresponsiveness: Esc, arrow keys, and typing no longer freeze when attached to a background session or in agent view under heavy CPU load.
  • Terminal sync-output markers: Background agents no longer emit sync-output markers to terminals that don't support them (Apple Terminal, tmux), preventing render artifacts.
  • Mouse wheel scrolling: Fixed mouse wheel scrolling prompt history instead of the transcript right after opening a session from the agents list.
  • CJK IME position: IME composition now appears at the input caret, not at the bottom-left of the screen.
  • Windows hyperlink paths: Valid file:///C:/... links are no longer rewritten to broken paths on terminals with hyperlink support.
  • Voice mode special characters: Voice mode connects successfully even when the project directory or branch name contains non-ASCII or special characters.
  • Auto mode error message: The unavailability message for third-party providers (Bedrock/Vertex/Foundry) now points to CLAUDE_CODE_ENABLE_AUTO_MODE instead of incorrectly blaming the model.
  • ultracode / effort: /effort ultracode no longer blames dynamic workflows when the model cannot run xhigh; ultracode is not offered on unsupported models.
  • SDK model errors: No longer suggests --model when running via the SDK or hosts where the CLI flag doesn't apply.
  • Brief mode scrollback: Past replies no longer disappear when resuming a brief mode session with brief mode turned off.
  • Vim mode paste: p now pastes at the cursor instead of the line below when the register was yanked with v$.

Performance & Other Changes

  • Improved opening recently-inactive background agent sessions in claude agents.
  • Auto mode classifier latency reduced — lowers chance of "could not evaluate this action" blocks.
  • Background session teardown now sends SIGTERM to running shell subprocesses before SIGKILL, allowing cleanup handlers to run.
  • Removed CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE (no-op).
  • Removed the JetBrains plugin install suggestion from startup.
  • Renamed the dynamic-workflow trigger keyword from workflow to ultracode. The word "workflow" no longer triggers a run; asking for one in your own words still works. The trigger keyword is highlighted in violet in the prompt input.

📖 Read the full source: GitHub Claude-Code

Ad

👀 See Also