Claude Code 2.1.71: Loop Commands & Voice Rebinding
Loop commands, rebindable voice keys, and 18 fixes for stdin freezes, startup hangs, forked conversations, and plugin conflicts in Claude Code 2.1.71.
TL;DR
- New
/loopcommand runs prompts on recurring intervals - Voice activation key now rebindable in keybindings.json
- Major fixes for stdin freeze, startup hangs, and forked conversation conflicts
- Bash allowlist expanded with 10 new utilities
New
- /loop command — Run a prompt or slash command on a recurring interval (e.g.,
/loop 5m check the deploy) - Cron scheduling tools — Schedule recurring prompts within a session
- voice:pushToTalk keybinding — Make voice activation rebindable in keybindings.json; default is space, but modifier+letter combos like
meta+khave zero typing interference - Bash allowlist expansion — Added
fmt,comm,cmp,numfmt,expr,test,printf,getconf,seq,tsort, andprto auto-approval
Fixed
- Stdin freeze in long-running sessions — Keystrokes stopped being processed but the process stayed alive
- 5–8 second startup freeze with voice mode — CoreAudio initialization was blocking the main thread after system wake
- Startup UI freeze on OAuth refresh — Multiple claude.ai proxy connectors refreshing expired tokens simultaneously caused hangs
- Forked conversations overwriting plans —
/forkwas sharing the same plan file, causing edits in one fork to overwrite the other - Oversized images breaking context — Read tool was putting unprocessed images into context, breaking subsequent turns in image-heavy sessions
- False-positive permission prompts — Compound bash commands with heredoc commit messages were triggering unnecessary prompts
- Plugin installations lost across instances — Running multiple Claude Code instances caused plugin loss
- claude.ai connector reconnection failures — Connectors failed to reconnect after OAuth token refresh
- Duplicate MCP startup notifications — Notifications appeared for every org-configured connector instead of only previously connected ones
- Missing output file paths in agent notifications — Background agent completion notifications lacked file paths, breaking result recovery after context compaction
- Duplicate bash error messages — Commands exiting with non-zero status produced duplicate output
- Chrome extension detection stuck — Auto-detection got permanently stuck on "not installed" after running on a machine without local Chrome
- /plugin marketplace update merge conflicts — Failed when marketplace was pinned to a branch/tag ref
- /plugin marketplace add ref parsing —
@separator was incorrectly parsed; only#worked, causing undiagnosable errors withstrictKnownMarketplaces - Duplicate permission entries — Same directory added with and without trailing slash created duplicates in
/permissionsWorkspace tab - --print hanging with team agents — Exit loop was waiting on long-lived
in_process_teammatetasks - "Tool loaded" spam in REPL — Message appeared after every
ToolSearchcall - Windows mingw-style path prompts — Model using mingw paths triggered unnecessary
cd && gitprompts
Improved
- Startup time — Native image processor loading deferred to first use
- Bridge session reconnection — Now completes within seconds after laptop wake from sleep instead of waiting up to 10 minutes
- /plugin uninstall scope — Now disables project-scoped plugins in
.claude/settings.local.jsoninstead of modifying.claude/settings.json, so changes don't affect teammates - MCP server deduplication — Servers duplicating a manually-configured server (same command/URL) are now skipped, preventing duplicate connections; suppressions shown in
/pluginmenu - /debug command — Now toggles debug logging mid-session since debug logs are no longer written by default
Update with: npm install -g @anthropic-ai/claude-code@latest or check your IDE's extension marketplace for Claude Code 2.1.71.
Source: Claude Code