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

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.
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/fgrepcommands now satisfy the read-before-edit check — no separateReadstep 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 agentsor re-attaching a background session after overnight retire dropped chat history and re-ran the original prompt. - Daemon startup race: Fixed
claude --bgoccasionally 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 rmwithout waiting for the daemon to exit. - Agent list status: Background agents that resumed work no longer appear under "Completed".
- Auto-updater freeze: Fixed
claude agentsfreezing 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_MODEinstead of incorrectly blaming the model. - ultracode / effort:
/effort ultracodeno longer blames dynamic workflows when the model cannot run xhigh; ultracode is not offered on unsupported models. - SDK model errors: No longer suggests
--modelwhen 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:
pnow pastes at the cursor instead of the line below when the register was yanked withv$.
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
SIGTERMto running shell subprocesses beforeSIGKILL, 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
workflowtoultracode. 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
👀 See Also

Developer Describes Fraud Feeling After First AI-Assisted Pull Request
A developer used Claude Code to create a pull request for Chroma, Hugo's default syntax highlighter, adding ERB syntax highlighting. The PR was approved and merged, but the developer felt like a fraud and experienced worsened impostor syndrome.

Telus Deploys Real-Time Accent Conversion on Call-Center Agents via Tomato.ai
Telus is using Tomato.ai's speech-to-speech system to alter offshore agents' accents in real time, drawing backlash over transparency and worker rights.

Claude Code Telegram Plugin Bug: MCP Notifications Silently Dropped — Workaround via File Polling and tmux Injection
A Telegram plugin for Claude Code works correctly but inbound messages are silently dropped because Claude Code discards MCP notifications on stdio transport. A workaround uses file polling and tmux send-keys with ~5-9s latency.

PrismML's Bonsai 1-bit Qwen models tested: 107 t/s generation on 8GB VRAM
Bonsai models from PrismML are 1-bit quantized versions of Qwen3 8B, 4B, and 1.7B that achieve 107 tokens/second generation and >1114 t/s prompt processing on an RTX 4060 with 8GB VRAM, with significantly reduced memory requirements.