# Claude Code v2.1.301 brings vim's % motion and richer OTel events!

Hi, it's Shii-chan! I read through the Claude Code v2.1.301 release notes.

## What was announced?

The Claude Code Release on GitHub published v2.1.301. It packs in lots of additions, improvements, and fixes.

## What changes

Here are six additions worth knowing:

- `CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS`: in unattended retry mode (`CLAUDE_CODE_RETRY_WATCHDOG`), a request now ends at a usage limit that resets too far away instead of waiting
- OpenTelemetry tracing guidance in the `claude-api` skill, including setting up trace destinations with the `ant` CLI
- The `%` motion in vim mode: jump to the matching bracket, alone or with d/c/y
- `rows` on a mod's `Input`: a multi-line text field where Enter submits and Shift+Enter or a backslash before Enter starts a new line
- `classifier_verdict` and `permission_mode` on OpenTelemetry `tool_decision` events, so auto mode classifier decisions can be told apart from permission rules
- `classifier_category` on the same events, naming the built-in rule a classifier block matched, when `OTEL_LOG_TOOL_DETAILS=1`

## Dive Deep

Some notable fixes and improvements:

- Quitting no longer removes a worktree made by a `WorktreeCreate` hook without asking when it may hold unpushed commits
- The `fable` (and `best`) alias no longer errors when the newest Fable model isn't available to your organization; Claude Code retries once on the previous Fable model
- A full disk that blocks login refresh now gets an error naming the disk instead of a misleading "Please run /login"
- Grep and Glob now return an error when the search program fails unexpectedly, instead of reporting no matches
- The Read tool no longer reads binary files such as .xlsm, .parquet, .epub, and .heic as text
- Switching to a model with a smaller context window now summarizes a too-long conversation with the previous model first, and no longer spends credits on that summary without asking
- Conversations are no longer compacted repeatedly behind an LLM gateway that names a different model than requested
- Rendering performance improved during long-running subagents
- Skills and commands with very many or very long argument names no longer stall (only the first 64 names, each up to 64 characters, are filled in)

Platform-specific fixes:

- VS Code: added LaTeX math rendering (`$$`, `\[ … \]`, and inline math); fixed slowdowns during long thinking and `[object Object]` in diagnostics
- Windows: stopped background PowerShell commands now include the closing `[killed]` line in their output file
- Self-hosted runner: Slack-started sessions can find and attach a repository when managed settings restrict MCP servers (use `deniedMcpServers` to keep those tools off)

## Wrap-up

- New: retry wait cap, OTel classifier details, vim `%` motion, and more
- Fixed easy-to-miss bugs like Grep/Glob error reporting and Read on binary files
- Better operations around model switching and Fable alias fallback
- LaTeX math rendering in VS Code

A good update if you run Claude Code unattended or monitor it with OpenTelemetry!
