Claude Code v2.1.301 Adds Retry Watchdog Usage Cap, Vim % Motion, OpenTelemetry Classifier Fields

✍️ OpenClawRadar📅 Published: October 16, 2026🔗 Source
Ad

Claude Code v2.1.301 shipped on Oct 15 with one new env var aimed squarely at unattended runs, plus vim and OpenTelemetry additions and a long fix list. Patch notes come from the GitHub releases tag.

Retry watchdog gets a usage-limit ceiling

If you're running CLAUDE_CODE_RETRY_WATCHDOG unattended, a usage limit that resets hours away previously meant the process just sat there. The new CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS sets a threshold: hit a usage limit whose reset is further out than that, and the request ends instead of waiting. Useful for CI jobs and scheduled agent runs where a stalled process is worse than a failed one.

Vim mode: % and a working Escape

Vim mode gains the % motion — jump to the matching bracket, standalone or combined with d/c/y. Two vim bugs also got fixed:

  • Escape sometimes left you in INSERT on a slow or busy machine.
  • Esc used to discard a typed AskUserQuestion answer. The free-text field now supports vim NORMAL mode, and Esc only cancels from NORMAL.

OpenTelemetry: telling classifier blocks from permission rules

tool_decision events now carry classifier_verdict and permission_mode, so you can separate auto-mode classifier decisions from permission-rule decisions in your traces. There's also classifier_category, which names the built-in rule a classifier block matched — only populated when OTEL_LOG_TOOL_DETAILS=1. Tracing setup guidance (including configuring trace destinations via the ant CLI) was added to the claude-api skill.

Other additions

  • Mod Input supports a rows field: multiline terminal text input where Enter submits and Shift+Enter (or a backslash before Enter) inserts a newline.
  • The fable and best model aliases no longer error on the Anthropic API when the newest Fable model isn't available to your org — Claude Code retries once on the previous Fable model.
Ad

Notable fixes

  • Quitting no longer removes a WorktreeCreate-hook worktree without asking when it may hold unpushed commits.
  • Grep and Glob now return an explicit search-failed error instead of a false "no matches" when the search program dies early.
  • Full disk during login refresh no longer prints "Please run /login" — the error names the disk and tells you to delete files.
  • Skills/commands with many or long argument names no longer stall for seconds on invoke; only the first 64 names, each up to 64 characters, get filled in. Large memory use when arguments fill many placeholders is also fixed.
  • Switching to a smaller-context model no longer spends credits on a summary by the previous model without asking.
  • Read tool no longer reads binary files (.xlsm, .parquet, .epub, .heic) as text.
  • Conversations behind an LLM gateway that reports a different model than requested no longer get compacted repeatedly on a model you didn't pick.
  • Workflow agents that skipped a step after reading the harness note about task text carrying no user authority no longer report success.
  • Skills are listed to the model again after /rewind.
  • VTE older than 0.53 (e.g. MATE Terminal on RHEL 8) no longer shows stray >0q/>4m sequences; stray GOK text in some iTerm2 versions is fixed.

Worth pulling if you run Claude Code headless in CI, use vim mode, or pipe telemetry into an OTel collector.

📖 Read the full source: GitHub Claude-Code

Ad

👀 See Also