From 870624fc1581a70590e382f263e2972b3f1e56f5 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 7 Jan 2026 20:03:52 +0000 Subject: [PATCH] chore: Update CHANGELOG.md --- CHANGELOG.md | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb2d1256..ce6984ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,125 @@ # Changelog +## 2.1.0 (2026-01-07) + +- Added automatic skill hot-reload - skills created or modified in `~/.claude/skills` or `.claude/skills` are now immediately available without restarting the session +- Added support for running skills and slash commands in a forked sub-agent context using `context: fork` in skill frontmatter +- Added support for `agent` field in skills to specify agent type for execution +- Added `language` setting to configure Claude's response language (e.g., language: "japanese") +- Changed Shift+Enter to work out of the box in iTerm2, WezTerm, Ghostty, and Kitty without modifying terminal configs +- Added `respectGitignore` support in `settings.json` for per-project control over @-mention file picker behavior +- Added `CLAUDE_CODE_HIDE_ACCOUNT_INFO` environment variable to hide email and organization from the UI, useful for streaming or recording sessions +- Fixed security issue where sensitive data (OAuth tokens, API keys, passwords) could be exposed in debug logs +- Fixed files and skills not being properly discovered when resuming sessions with `-c` or `--resume` +- Fixed pasted content being lost when replaying prompts from history using up arrow or Ctrl+R search +- Fixed Esc key with queued prompts to only move them to input without canceling the running task +- Reduced permission prompts for complex bash commands +- Fixed command search to prioritize exact and prefix matches on command names over fuzzy matches in descriptions +- Fixed PreToolUse hooks to allow `updatedInput` when returning `ask` permission decision, enabling hooks to act as middleware while still requesting user consent +- Fixed plugin path resolution for file-based marketplace sources +- Fixed LSP tool being incorrectly enabled when no LSP servers were configured +- Fixed background tasks failing with "git repository not found" error for repositories with dots in their names +- Fixed Claude in Chrome support for WSL environments +- Fixed Windows native installer silently failing when executable creation fails +- Improved CLI help output to display options and subcommands in alphabetical order for easier navigation +- Added wildcard pattern matching for Bash tool permissions using `*` at any position in rules (e.g., `Bash(npm *)`, `Bash(* install)`, `Bash(git * main)`) +- Added unified Ctrl+B backgrounding for both bash commands and agents - pressing Ctrl+B now backgrounds all running foreground tasks simultaneously +- Added support for MCP `list_changed` notifications, allowing MCP servers to dynamically update their available tools, prompts, and resources without requiring reconnection +- Added `/teleport` and `/remote-env` slash commands for claude.ai subscribers, allowing them to resume and configure remote sessions +- Added support for disabling specific agents using `Task(AgentName)` syntax in settings.json permissions or the `--disallowedTools` CLI flag +- Added hooks support to agent frontmatter, allowing agents to define PreToolUse, PostToolUse, and Stop hooks scoped to the agent's lifecycle +- Added hooks support for skill and slash command frontmatter +- Added new Vim motions: `;` and `,` to repeat f/F/t/T motions, `y` operator for yank with `yy`/`Y`, `p`/`P` for paste, text objects (`iw`, `aw`, `iW`, `aW`, `i"`, `a"`, `i'`, `a'`, `i(`, `a(`, `i[`, `a[`, `i{`, `a{`), `>>` and `<<` for indent/dedent, and `J` to join lines +- Added `/plan` command shortcut to enable plan mode directly from the prompt +- Added slash command autocomplete support when `/` appears anywhere in input, not just at the beginning +- Added `--tools` flag support in interactive mode to restrict which built-in tools Claude can use during interactive sessions +- Added `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` environment variable to override the default file read token limit +- Added support for `once: true` config for hooks +- Added support for YAML-style lists in frontmatter `allowed-tools` field for cleaner skill declarations +- Added support for prompt and agent hook types from plugins (previously only command hooks were supported) +- Added Cmd+V support for image paste in iTerm2 (maps to Ctrl+V) +- Added left/right arrow key navigation for cycling through tabs in dialogs +- Added real-time thinking block display in Ctrl+O transcript mode +- Added filepath to full output in background bash task details dialog +- Added Skills as a separate category in the context visualization +- Fixed OAuth token refresh not triggering when server reports token expired but local expiration check disagrees +- Fixed session persistence getting stuck after transient server errors by recovering from 409 conflicts when the entry was actually stored +- Fixed session resume failures caused by orphaned tool results during concurrent tool execution +- Fixed a race condition where stale OAuth tokens could be read from the keychain cache during concurrent token refresh attempts +- Fixed AWS Bedrock subagents not inheriting EU/APAC cross-region inference model configuration, causing 403 errors when IAM permissions are scoped to specific regions +- Fixed API context overflow when background tasks produce large output by truncating to 30K chars with file path reference +- Fixed a hang when reading FIFO files by skipping symlink resolution for special file types +- Fixed terminal keyboard mode not being reset on exit in Ghostty, iTerm2, Kitty, and WezTerm +- Fixed Alt+B and Alt+F (word navigation) not working in iTerm2, Ghostty, Kitty, and WezTerm +- Fixed `${CLAUDE_PLUGIN_ROOT}` not being substituted in plugin `allowed-tools` frontmatter, which caused tools to incorrectly require approval +- Fixed files created by the Write tool using hardcoded 0o600 permissions instead of respecting the system umask +- Fixed commands with `$()` command substitution failing with parse errors +- Fixed multi-line bash commands with backslash continuations being incorrectly split and flagged for permissions +- Fixed bash command prefix extraction to correctly identify subcommands after global options (e.g., `git -C /path log` now correctly matches `Bash(git log:*)` rules) +- Fixed slash commands passed as CLI arguments (e.g., `claude /context`) not being executed properly +- Fixed pressing Enter after Tab-completing a slash command selecting a different command instead of submitting the completed one +- Fixed slash command argument hint flickering and inconsistent display when typing commands with arguments +- Fixed Claude sometimes redundantly invoking the Skill tool when running slash commands directly +- Fixed skill token estimates in `/context` to accurately reflect frontmatter-only loading +- Fixed subagents sometimes not inheriting the parent's model by default +- Fixed model picker showing incorrect selection for Bedrock/Vertex users using `--model haiku` +- Fixed duplicate Bash commands appearing in permission request option labels +- Fixed noisy output when background tasks complete - now shows clean completion message instead of raw output +- Fixed background task completion notifications to appear proactively with bullet point +- Fixed forked slash commands showing "AbortError" instead of "Interrupted" message when cancelled +- Fixed cursor disappearing after dismissing permission dialogs +- Fixed `/hooks` menu selecting wrong hook type when scrolling to a different option +- Fixed images in queued prompts showing as "[object Object]" when pressing Esc to cancel +- Fixed images being silently dropped when queueing messages while backgrounding a task +- Fixed large pasted images failing with "Image was too large" error +- Fixed extra blank lines in multiline prompts containing CJK characters (Japanese, Chinese, Korean) +- Fixed ultrathink keyword highlighting being applied to wrong characters when user prompt text wraps to multiple lines +- Fixed collapsed "Reading X files…" indicator incorrectly switching to past tense when thinking blocks appear mid-stream +- Fixed Bash read commands (like `ls` and `cat`) not being counted in collapsed read/search groups, causing groups to incorrectly show "Read 0 files" +- Fixed spinner token counter to properly accumulate tokens from subagents during execution +- Fixed memory leak in git diff parsing where sliced strings retained large parent strings +- Fixed race condition where LSP tool could return "no server available" during startup +- Fixed feedback submission hanging indefinitely when network requests timeout +- Fixed search mode in plugin discovery and log selector views exiting when pressing up arrow +- Fixed hook success message showing trailing colon when hook has no output +- Multiple optimizations to improve startup performance +- Improved terminal rendering performance when using native installer or Bun, especially for text with emoji, ANSI codes, and Unicode characters +- Improved performance when reading Jupyter notebooks with many cells +- Improved reliability for piped input like `cat refactor.md | claude` +- Improved reliability for AskQuestion tool +- Improved sed in-place edit commands to render as file edits with diff preview +- Improved Claude to automatically continue when response is cut off due to output token limit, instead of showing an error message +- Improved compaction reliability +- Improved subagents (Task tool) to continue working after permission denial, allowing them to try alternative approaches +- Improved skills to show progress while executing, displaying tool uses as they happen +- Improved skills from `/skills/` directories to be visible in the slash command menu by default (opt-out with `user-invocable: false` in frontmatter) +- Improved skill suggestions to prioritize recently and frequently used skills +- Improved spinner feedback when waiting for the first response token +- Improved token count display in spinner to include tokens from background agents +- Improved incremental output for async agents to give the main thread more control and visibility +- Improved permission prompt UX with Tab hint moved to footer, cleaner Yes/No input labels with contextual placeholders +- Improved the Claude in Chrome notification with shortened help text and persistent display until dismissed +- Improved macOS screenshot paste reliability with TIFF format support +- Improved `/stats` output +- Updated Atlassian MCP integration to use a more reliable default configuration (streamable HTTP) +- Changed "Interrupted" message color from red to grey for a less alarming appearance +- Removed permission prompt when entering plan mode - users can now enter plan mode without approval +- Removed underline styling from image reference links +- [SDK] Changed minimum zod peer dependency to ^4.0.0 +- [VSCode] Added currently selected model name to the context menu +- [VSCode] Added descriptive labels on auto-accept permission button (e.g., "Yes, allow npm for this project" instead of "Yes, and don't ask again") +- [VSCode] Fixed paragraph breaks not rendering in markdown content +- [VSCode] Fixed scrolling in the extension inadvertently scrolling the parent iframe +- [Windows] Fixed issue with improper rendering + +## 2.0.76 + +- Fixed issue with macOS code-sign warning when using Claude in Chrome integration + +## 2.0.75 + +- Minor bugfixes + ## 2.0.74 - Added LSP (Language Server Protocol) tool for code intelligence features like go-to-definition, find references, and hover documentation