Claude Code 2.1.71
Cron scheduling tools for recurring prompts within a session — the first changelog-stated primitive that lets an agent schedule recurring work itself, which directly extends multi-agent/long-running orchestration surface (paired with the new `/loop` command for the user-facing recurrence form).
New primitives
/loopcommandNew slash command that runs a prompt or slash command on a recurring interval, e.g. `/loop 5m check the deploy`.
cron scheduling toolstoolNew tools that schedule recurring prompts to fire within a session — an agent-callable recurrence/scheduling surface relevant to orchestration.
voice:pushToTalksettingNew rebindable keybinding in keybindings.json for the voice activation key (default: space), supporting modifier+letter combos like meta+k.
bash auto-approval allowlist additions (fmt, comm, cmp, numfmt, expr, test, printf, getconf, seq, tsort, pr)capabilityExpands the set of bash commands auto-approved without a permission prompt, adding 11 standard text/number/test utilities.
Agentic relevance
This version pushes the agent-orchestration frontier from one-shot and human-triggered work toward agent-driven recurrence: cron scheduling tools give an agent a callable surface to schedule recurring prompts within a session, and `/loop` exposes the same recurrence to users. Paired fixes that restore the background-agent completion output file path after context compaction and that stop `--print` from hanging on long-lived `in_process_teammate` tasks harden the multi-agent / long-running orchestration path the scheduling primitives now lean on.
Hardening & fixes (24)
- Fixed stdin freeze in long-running sessions where keystrokes stop being processed but the process stays alive
- Fixed a 5–8 second startup freeze for users with voice mode enabled, caused by CoreAudio initialization blocking the main thread after system wake
- Fixed startup UI freeze when many claude.ai proxy connectors refresh an expired OAuth token simultaneously
- Fixed forked conversations (`/fork`) sharing the same plan file, which caused plan edits in one fork to overwrite the other
- Fixed the Read tool putting oversized images into context when image processing failed, breaking subsequent turns in long image-heavy sessions
- Fixed false-positive permission prompts for compound bash commands containing heredoc commit messages
- Fixed plugin installations being lost when running multiple Claude Code instances
- Fixed claude.ai connectors failing to reconnect after OAuth token refresh
- Fixed claude.ai MCP connector startup notifications appearing for every org-configured connector instead of only previously connected ones
- Fixed background agent completion notifications missing the output file path, which made it difficult for parent agents to recover agent results after context compaction
- Fixed duplicate output in Bash tool error messages when commands exit with non-zero status
- Fixed Chrome extension auto-detection getting permanently stuck on "not installed" after running on a machine without local Chrome
- Fixed `/plugin marketplace update` failing with merge conflicts when the marketplace is pinned to a branch/tag ref
- Fixed `/plugin marketplace add owner/repo@ref` incorrectly parsing `@` — previously only `#` worked as a ref separator, causing undiagnosable errors with `strictKnownMarketplaces`
- Fixed duplicate entries in `/permissions` Workspace tab when the same directory is added with and without a trailing slash
- Fixed `--print` hanging forever when team agents are configured — the exit loop no longer waits on long-lived `in_process_teammate` tasks
- Fixed "❯ Tool loaded." appearing in the REPL after every `ToolSearch` call
- Fixed prompting for `cd <cwd> && git ...` on Windows when the model uses a mingw-style path
- Improved startup time by deferring native image processor loading to first use
- Improved bridge session reconnection to complete within seconds after laptop wake from sleep, instead of waiting up to 10 minutes
- Improved `/plugin uninstall` to disable project-scoped plugins in `.claude/settings.local.json` instead of modifying `.claude/settings.json`, so changes don't affect teammates
- Improved plugin-provided MCP server deduplication — servers that duplicate a manually-configured server (same command/URL) are now skipped, preventing duplicate connections and tool sets. Suppressions are shown in the `/plugin` menu.
- Updated `/debug` to toggle debug logging on mid-session, since debug logs are no longer written by default
- Removed startup notification noise for unauthenticated org-registered claude.ai connectors
Raw changelog
## 2.1.71 - Added `/loop` command to run a prompt or slash command on a recurring interval (e.g. `/loop 5m check the deploy`) - Added cron scheduling tools for recurring prompts within a session - Added `voice:pushToTalk` keybinding to make the voice activation key rebindable in `keybindings.json` (default: space) — modifier+letter combos like `meta+k` have zero typing interference - Added `fmt`, `comm`, `cmp`, `numfmt`, `expr`, `test`, `printf`, `getconf`, `seq`, `tsort`, and `pr` to the bash auto-approval allowlist - Fixed stdin freeze in long-running sessions where keystrokes stop being processed but the process stays alive - Fixed a 5–8 second startup freeze for users with voice mode enabled, caused by CoreAudio initialization blocking the main thread after system wake - Fixed startup UI freeze when many claude.ai proxy connectors refresh an expired OAuth token simultaneously - Fixed forked conversations (`/fork`) sharing the same plan file, which caused plan edits in one fork to overwrite the other - Fixed the Read tool putting oversized images into context when image processing failed, breaking subsequent turns in long image-heavy sessions - Fixed false-positive permission prompts for compound bash commands containing heredoc commit messages - Fixed plugin installations being lost when running multiple Claude Code instances - Fixed claude.ai connectors failing to reconnect after OAuth token refresh - Fixed claude.ai MCP connector startup notifications appearing for every org-configured connector instead of only previously connected ones - Fixed background agent completion notifications missing the output file path, which made it difficult for parent agents to recover agent results after context compaction - Fixed duplicate output in Bash tool error messages when commands exit with non-zero status - Fixed Chrome extension auto-detection getting permanently stuck on "not installed" after running on a machine without local Chrome - Fixed `/plugin marketplace update` failing with merge conflicts when the marketplace is pinned to a branch/tag ref - Fixed `/plugin marketplace add owner/repo@ref` incorrectly parsing `@` — previously only `#` worked as a ref separator, causing undiagnosable errors with `strictKnownMarketplaces` - Fixed duplicate entries in `/permissions` Workspace tab when the same directory is added with and without a trailing slash - Fixed `--print` hanging forever when team agents are configured — the exit loop no longer waits on long-lived `in_process_teammate` tasks - Fixed "❯ Tool loaded." appearing in the REPL after every `ToolSearch` call - Fixed prompting for `cd <cwd> && git ...` on Windows when the model uses a mingw-style path - Improved startup time by deferring native image processor loading to first use - Improved bridge session reconnection to complete within seconds after laptop wake from sleep, instead of waiting up to 10 minutes - Improved `/plugin uninstall` to disable project-scoped plugins in `.claude/settings.local.json` instead of modifying `.claude/settings.json`, so changes don't affect teammates - Improved plugin-provided MCP server deduplication — servers that duplicate a manually-configured server (same command/URL) are now skipped, preventing duplicate connections and tool sets. Suppressions are shown in the `/plugin` menu. - Updated `/debug` to toggle debug logging on mid-session, since debug logs are no longer written by default - Removed startup notification noise for unauthenticated org-registered claude.ai connectors