mirror of
https://github.com/anthropics/claude-code.git
synced 2026-05-01 02:09:52 +00:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a243cad119 | ||
|
|
e512ec9918 | ||
|
|
a609cfbee3 | ||
|
|
1586204194 | ||
|
|
c128568da0 | ||
|
|
7e936457e4 | ||
|
|
c3933441f0 | ||
|
|
ab3ce06c9a | ||
|
|
a5fa36cac7 | ||
|
|
925200dffc | ||
|
|
9afdfd7dc0 |
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
|
||||
"$schema": "https://json.schemastore.org/claude-code-marketplace.json",
|
||||
"name": "claude-code-plugins",
|
||||
"version": "1.0.0",
|
||||
"description": "Bundled plugins for Claude Code including Agent SDK development tools, PR review toolkit, and commit workflows",
|
||||
|
||||
12
.github/workflows/claude-dedupe-issues.yml
vendored
12
.github/workflows/claude-dedupe-issues.yml
vendored
@@ -38,10 +38,11 @@ jobs:
|
||||
if: always()
|
||||
env:
|
||||
STATSIG_API_KEY: ${{ secrets.STATSIG_API_KEY }}
|
||||
ISSUE_NUMBER: ${{ github.event.issue.number || inputs.issue_number }}
|
||||
REPO: ${{ github.repository }}
|
||||
TRIGGERED_BY: ${{ github.event_name }}
|
||||
WORKFLOW_RUN_ID: ${{ github.run_id }}
|
||||
run: |
|
||||
ISSUE_NUMBER=${{ github.event.issue.number || inputs.issue_number }}
|
||||
REPO=${{ github.repository }}
|
||||
|
||||
if [ -z "$STATSIG_API_KEY" ]; then
|
||||
echo "STATSIG_API_KEY not found, skipping Statsig logging"
|
||||
exit 0
|
||||
@@ -51,7 +52,8 @@ jobs:
|
||||
EVENT_PAYLOAD=$(jq -n \
|
||||
--arg issue_number "$ISSUE_NUMBER" \
|
||||
--arg repo "$REPO" \
|
||||
--arg triggered_by "${{ github.event_name }}" \
|
||||
--arg triggered_by "$TRIGGERED_BY" \
|
||||
--arg workflow_run_id "$WORKFLOW_RUN_ID" \
|
||||
'{
|
||||
events: [{
|
||||
eventName: "github_duplicate_comment_added",
|
||||
@@ -60,7 +62,7 @@ jobs:
|
||||
repository: $repo,
|
||||
issue_number: ($issue_number | tonumber),
|
||||
triggered_by: $triggered_by,
|
||||
workflow_run_id: "${{ github.run_id }}"
|
||||
workflow_run_id: $workflow_run_id
|
||||
},
|
||||
time: (now | floor | tostring)
|
||||
}]
|
||||
|
||||
220
CHANGELOG.md
220
CHANGELOG.md
@@ -1,5 +1,224 @@
|
||||
# Changelog
|
||||
|
||||
## 2.1.126
|
||||
|
||||
- The `/model` picker now lists models from your gateway's `/v1/models` endpoint when `ANTHROPIC_BASE_URL` points at an Anthropic-compatible gateway
|
||||
- - Added `claude project purge [path]` to delete all Claude Code state for a project (transcripts, tasks, file history, config entry) — supports `--dry-run`, `-y/--yes`, `-i/--interactive`, and `--all`
|
||||
- `--dangerously-skip-permissions` now bypasses prompts for writes to `.claude/`, `.git/`, `.vscode/`, shell config files, and other previously-protected paths (catastrophic removal commands still prompt as a safety net)
|
||||
- `claude auth login` now accepts the OAuth code pasted into the terminal when the browser callback can't reach localhost (WSL2, SSH, containers)
|
||||
- `claude_code.skill_activated` OpenTelemetry event now fires for user-typed slash commands and carries a new `invocation_trigger` attribute (`"user-slash"`, `"claude-proactive"`, or `"nested-skill"`)
|
||||
- Auto mode: the spinner now turns red when a permission check stalls, instead of looking like the tool is running
|
||||
- Host-managed deployments (`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`) no longer auto-disable analytics on Bedrock/Vertex/Foundry
|
||||
- Windows: PowerShell 7 installed via the Microsoft Store, MSI without PATH, or `.NET global tool` is now detected
|
||||
- Windows: when the PowerShell tool is enabled, Claude now treats PowerShell as the primary shell instead of defaulting to Bash
|
||||
- Read tool: removed the per-file malware-assessment reminder that could cause spurious refusals and "this is not malware" commentary on legacy models
|
||||
- **Security:** Fixed `allowManagedDomainsOnly` / `allowManagedReadPathsOnly` being ignored when a higher-priority managed-settings source lacked a `sandbox` block
|
||||
- Fixed pasting an image larger than 2000px breaking the session — images are now downscaled on paste, and oversized images in history are automatically removed and the request retried
|
||||
- Fixed showing the login screen for "OAuth not allowed for organization" errors — now shows guidance to contact your admin
|
||||
- Fixed OAuth login failing with timeout on slow or proxied connections, in IPv6-only devcontainers, and when the browser callback can't reach localhost
|
||||
- Fixed a rare race where a concurrent credential write could clear a valid OAuth refresh token
|
||||
- Fixed API retry countdown sticking at "0s" instead of counting down between attempts
|
||||
- Fixed "Stream idle timeout" error after waking Mac from sleep mid-request
|
||||
- Fixed background and remote sessions falsely aborting with "Stream idle timeout" during long model thinking pauses
|
||||
- Fixed a hang where the assistant could finish thinking but show no output after a run of empty turns
|
||||
- Fixed overly fast trackpad scrolling in Cursor and VS Code 1.92–1.104 integrated terminals
|
||||
- Fixed claude.ai MCP connectors being suppressed by manual servers stuck in needs-auth state
|
||||
- Fixed Japanese/Korean/Chinese text rendering as garbled characters on Windows in no-flicker mode
|
||||
- Fixed `Ctrl+L` clearing the prompt input — it now only forces a screen redraw, matching readline behavior
|
||||
- Fixed deferred tools (WebSearch, WebFetch, etc.) not being available to skills with `context: fork` and other subagents on their first turn
|
||||
- Fixed plan-mode tools being unavailable in interactive sessions launched with `--channels`
|
||||
- Fixed blank remote-session transcript when certain messaging tools are unavailable
|
||||
- Fixed `/plugin` Uninstall reporting "Enabled" instead of "Uninstalled"
|
||||
- Bounded total size of file-modified reminders when a linter touches many files at once
|
||||
- Fixed `/remote-control` retries appearing stuck on "connecting…" — each retry now shows its result, and unenrolled trusted-device failures are caught up-front
|
||||
- Fixed Remote Control failure notification not showing the error reason for initial connection failures
|
||||
- Windows: clipboard writes no longer expose copied content in process command-line arguments visible to EDR/SIEM telemetry; also fixes >22KB selections not reaching the clipboard
|
||||
- PowerShell tool: bare `--` (e.g. `git diff -- file`) is no longer mis-flagged as the `--%` stop-parsing token
|
||||
- Fixed Agent SDK hang when the model emits a malformed tool name in a parallel tool call batch
|
||||
|
||||
## 2.1.123
|
||||
|
||||
- Fixed OAuth authentication failing with a 401 retry loop when `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` is set
|
||||
|
||||
## 2.1.122
|
||||
|
||||
- Added `ANTHROPIC_BEDROCK_SERVICE_TIER` environment variable to select a Bedrock service tier (`default`, `flex`, or `priority`), sent as the `X-Amzn-Bedrock-Service-Tier` header
|
||||
- Pasting a PR URL into the `/resume` search box now finds the session that created that PR (GitHub, GitHub Enterprise, GitLab, and Bitbucket)
|
||||
- `/mcp` now shows claude.ai connectors hidden by a manually-added server with the same URL, with a hint to remove the duplicate
|
||||
- Clarified the `/mcp` message shown when an MCP server is still unauthorized after the browser sign-in flow
|
||||
- OpenTelemetry: numeric attributes on `api_request`/`api_error` log events are now emitted as numbers, not strings
|
||||
- OpenTelemetry: added `claude_code.at_mention` log event for `@`-mention resolution
|
||||
- Fixed `/branch` producing forks that fail with "tool_use ids were found without tool_result blocks" when the source session contained entries from rewound timelines
|
||||
- Fixed `/model` not showing the Effort option for Bedrock application inference profile ARNs, and those ARNs not receiving `output_config.effort`
|
||||
- Fixed Vertex AI / Bedrock returning `invalid_request_error: output_config: Extra inputs are not permitted` on session-title generation and other structured-output queries
|
||||
- Fixed Vertex AI `count_tokens` endpoint returning 400 errors for users behind proxy gateways
|
||||
- Fixed `spinnerTipsOverride.excludeDefault` not suppressing the time-based spinner tips
|
||||
- Fixed ToolSearch missing MCP tools that connected after session start in nonblocking mode
|
||||
- Fixed `!exit` / `!quit` in bash mode terminating the CLI instead of running as a shell command
|
||||
- Fixed images sent to newer models being resized to 2576px per side instead of the correct 2000px maximum
|
||||
- Fixed remote control session idle status redrawing twice per second, which could flood `tmux -CC` control pipes and pause the terminal
|
||||
- Fixed assistant messages appearing blank in some sessions due to a stale view preference
|
||||
- Fixed a malformed hooks entry in `settings.json` no longer invalidating the entire file
|
||||
- Voice mode: keybindings bound to Caps Lock now show an error since terminals don't deliver Caps Lock as a key event
|
||||
|
||||
## 2.1.121
|
||||
|
||||
- Added `alwaysLoad` option to MCP server config — when `true`, all tools from that server skip tool-search deferral and are always available
|
||||
- Added `claude plugin prune` to remove orphaned auto-installed plugin dependencies; `plugin uninstall --prune` cascades
|
||||
- Added a type-to-filter search box to `/skills` so you can find a skill in long lists without scrolling
|
||||
- PostToolUse hooks can now replace tool output for all tools via `hookSpecificOutput.updatedToolOutput` (previously MCP-only)
|
||||
- Fullscreen mode: typing into the prompt no longer jumps scroll back to the bottom after you've scrolled up to read earlier output
|
||||
- Dialogs that overflow the terminal are now scrollable with arrow keys, PgUp/PgDn, home/end, and mouse wheel in both fullscreen and non-fullscreen modes
|
||||
- Clicking any line of a long URL that wraps across rows in fullscreen mode now opens the full URL
|
||||
- SDK and `claude -p`: `CLAUDE_CODE_FORK_SUBAGENT=1` now works in non-interactive sessions
|
||||
- `--dangerously-skip-permissions` no longer prompts for writes to `.claude/skills/`, `.claude/agents/`, and `.claude/commands/`
|
||||
- `/terminal-setup` now enables iTerm2's "Applications in terminal may access clipboard" setting so `/copy` works, including from tmux
|
||||
- MCP servers that hit a transient error during startup now auto-retry up to 3 times instead of staying disconnected
|
||||
- The terminal tab session title is now generated in your configured `language` setting
|
||||
- Claude.ai connectors with the same upstream URL are now deduplicated instead of appearing as duplicates
|
||||
- Vertex AI: support X.509 certificate-based Workload Identity Federation (mTLS ADC)
|
||||
- Faster startup after upgrading: removed the Recent Activity panel from the release-notes splash
|
||||
- LSP diagnostic summaries now expand on click/ctrl+o and show the expand hint
|
||||
- SDK: `mcp_authenticate` now supports `redirectUri` for custom scheme completion and claude.ai connectors
|
||||
- OpenTelemetry: added `stop_reason`, `gen_ai.response.finish_reasons`, and `user_system_prompt` (gated behind `OTEL_LOG_USER_PROMPTS`) to LLM request spans
|
||||
- [VSCode] Voice dictation now respects the `accessibility.voice.speechLanguage` setting when no Claude Code language is configured
|
||||
- [VSCode] `/context` now opens a native token usage dialog
|
||||
- Fixed unbounded memory growth (multi-GB RSS) when processing many images in a session
|
||||
- Fixed `/usage` leaking up to ~2GB of memory on machines with large transcript histories
|
||||
- Fixed memory leak when long-running tools fail to emit a clear progress event
|
||||
- Fixed Bash tool becoming permanently unusable when the directory Claude was started in is deleted or moved mid-session
|
||||
- Fixed `--resume` crashing on startup in external builds
|
||||
- Fixed `--resume` failing on large sessions when a transcript line was corrupted by an unclean shutdown — the corrupt line is now skipped
|
||||
- Fixed `thinking.type.enabled is not supported` error when using Bedrock application inference profile ARNs
|
||||
- Fixed Microsoft 365 MCP OAuth failing with duplicate or unsupported `prompt` parameter
|
||||
- Fixed scrollback duplication when pressing Ctrl+L or triggering a redraw in non-fullscreen mode on tmux, GNOME Terminal, Windows Terminal, and Konsole
|
||||
- Fixed claude.ai MCP connectors silently disappearing when the connector-list fetch hits a transient auth error at startup
|
||||
- Fixed "Always allow" rules for built-in tools in remote sessions not surviving worker restarts
|
||||
- Fixed `NO_PROXY` not being respected for all HTTP clients when set via `managed-settings.json` under the native build
|
||||
- Fixed managed settings approval prompt exiting the session even when accepted — now applies settings and continues
|
||||
- Fixed `/usage` returning "rate limited" after a stale OAuth token — now refreshes automatically
|
||||
- Fixed invalid legacy enum values in `settings.json` invalidating the entire settings file
|
||||
- Fixed `/usage` dialog content being clipped when no-flicker mode is off
|
||||
- Fixed `/focus` showing "Unknown command" when the fullscreen renderer is off — now explains how to enable it
|
||||
- Fixed embedded grep/find/rg shell wrappers failing when the running binary is deleted mid-session — now falls back to installed tools
|
||||
- Reduced peak file descriptor usage during `find` in the Bash tool on large directory trees
|
||||
|
||||
## 2.1.120
|
||||
|
||||
- Windows: Git for Windows (Git Bash) is no longer required — when absent, Claude Code uses PowerShell as the shell tool
|
||||
- Added `claude ultrareview [target]` subcommand to run `/ultrareview` non-interactively from CI or scripts — prints findings to stdout (`--json` for raw output) and exits 0 on completion or 1 on failure
|
||||
- Skills can now reference the current effort level with `${CLAUDE_EFFORT}` in their content
|
||||
- Set `AI_AGENT` environment variable for subprocesses so `gh` can attribute traffic to Claude Code
|
||||
- Spinner tips that recommend installing the desktop app or creating skills/agents are now hidden when you already have them
|
||||
- Show a "use PgUp/PgDn to scroll" hint when the terminal sends arrow keys instead of scroll events
|
||||
- Faster session start when you have many claude.ai connectors configured but not authorized
|
||||
- The auto mode denial message now links to the configuration docs
|
||||
- `claude plugin validate` now accepts `$schema`, `version`, and `description` at the top level of `marketplace.json` and `$schema` in `plugin.json`
|
||||
- Auto-compact in auto mode now displays `auto` (lowercase, no token count) instead of a misleading token value
|
||||
- Fixed pressing Esc during a stdio MCP tool call closing the entire server connection (regression in 2.1.105)
|
||||
- Fixed `/rewind` and other interactive overlays not responding to keyboard input after launching with `claude --resume`
|
||||
- Fixed terminal scrollback duplication in non-fullscreen mode (resize, dialog dismiss, long sessions)
|
||||
- Fixed `DISABLE_TELEMETRY` / `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` not suppressing usage metrics telemetry for API and enterprise users
|
||||
- Fixed false-positive "Dangerous rm operation" permission prompts in auto mode for multi-line bash commands containing both a pipe and a redirect
|
||||
- Fixed long selection menus clipping below the terminal in fullscreen mode — the focused option now stays on screen as you scroll
|
||||
- Fixed Write tool output collapsing instead of expanding when clicking "+N lines" in fullscreen
|
||||
- Fixed slash command picker jumping while typing, and improved highlight to only match contiguous substrings in blue
|
||||
- Fixed `/plugin` marketplace failing to load when one entry uses an unrecognized source format — that entry is shown but installing it prompts you to update
|
||||
- [VSCode] `/usage` now opens the native Account & Usage dialog instead of returning plain-text session cost
|
||||
- [VSCode] Voice dictation now respects the `language` setting in `~/.claude/settings.json`
|
||||
- Fixed `find` in the Bash tool exhausting open file descriptors on large directory trees, causing host-wide crashes (macOS/Linux native builds)
|
||||
|
||||
## 2.1.119
|
||||
|
||||
- `/config` settings (theme, editor mode, verbose, etc.) now persist to `~/.claude/settings.json` and participate in project/local/policy override precedence
|
||||
- Added `prUrlTemplate` setting to point the footer PR badge at a custom code-review URL instead of github.com
|
||||
- Added `CLAUDE_CODE_HIDE_CWD` environment variable to hide the working directory in the startup logo
|
||||
- `--from-pr` now accepts GitLab merge-request, Bitbucket pull-request, and GitHub Enterprise PR URLs
|
||||
- `--print` mode now honors the agent's `tools:` and `disallowedTools:` frontmatter, matching interactive-mode behavior
|
||||
- `--agent <name>` now honors the agent definition's `permissionMode` for built-in agents
|
||||
- PowerShell tool commands can now be auto-approved in permission mode, matching Bash behavior
|
||||
- Hooks: `PostToolUse` and `PostToolUseFailure` hook inputs now include `duration_ms` (tool execution time, excluding permission prompts and PreToolUse hooks)
|
||||
- Subagent and SDK MCP server reconfiguration now connects servers in parallel instead of serially
|
||||
- Plugins pinned by another plugin's version constraint now auto-update to the highest satisfying git tag
|
||||
- Vim mode: Esc in INSERT no longer pulls a queued message back into the input; press Esc again to interrupt
|
||||
- Slash command suggestions now highlight the characters that matched your query
|
||||
- Slash command picker now wraps long descriptions onto a second line instead of truncating
|
||||
- `owner/repo#N` shorthand links in output now use your git remote's host instead of always pointing at github.com
|
||||
- Security: `blockedMarketplaces` now correctly enforces `hostPattern` and `pathPattern` entries
|
||||
- OpenTelemetry: `tool_result` and `tool_decision` events now include `tool_use_id`; `tool_result` also includes `tool_input_size_bytes`
|
||||
- Status line: stdin JSON now includes `effort.level` and `thinking.enabled`
|
||||
- Fixed pasting CRLF content (Windows clipboards, Xcode console) inserting an extra blank line between every line
|
||||
- Fixed multi-line paste losing newlines in terminals using kitty keyboard protocol sequences inside bracketed paste
|
||||
- Fixed Glob and Grep tools disappearing on native macOS/Linux builds when the Bash tool is denied via permissions
|
||||
- Fixed scrolling up in fullscreen mode snapping back to the bottom every time a tool finishes
|
||||
- Fixed MCP HTTP connections failing with "Invalid OAuth error response" when servers returned non-JSON bodies for OAuth discovery requests
|
||||
- Fixed Rewind overlay showing "(no prompt)" for messages with image attachments
|
||||
- Fixed auto mode overriding plan mode with conflicting "Execute immediately" instructions
|
||||
- Fixed async `PostToolUse` hooks that emit no response payload writing empty entries to the session transcript
|
||||
- Fixed spinner staying on when a subagent task notification is orphaned in the queue
|
||||
- Tool search is now disabled by default on Vertex AI to avoid an unsupported beta header error (opt in with `ENABLE_TOOL_SEARCH`)
|
||||
- Fixed `@`-file Tab completion replacing the entire prompt when used inside a slash command with an absolute path
|
||||
- Fixed a stray `p` character appearing at the prompt on startup in macOS Terminal.app via Docker or SSH
|
||||
- Fixed `${ENV_VAR}` placeholders in `headers` for HTTP/SSE/WebSocket MCP servers not being substituted before requests
|
||||
- Fixed MCP OAuth client secret stored via `--client-secret` not being sent during token exchange for servers requiring `client_secret_post`
|
||||
- Fixed `/skills` Enter key closing the dialog instead of pre-filling `/<skill-name>` in the prompt
|
||||
- Fixed `/agents` detail view mislabeling built-in tools unavailable to subagents as "Unrecognized"
|
||||
- Fixed MCP servers from plugins not spawning on Windows when the plugin cache was incomplete
|
||||
- Fixed `/export` showing the current default model instead of the model the conversation actually used
|
||||
- Fixed verbose output setting not persisting after restart
|
||||
- Fixed `/usage` progress bars overlapping with their "Resets …" labels
|
||||
- Fixed plugin MCP servers failing when `${user_config.*}` references an optional field left blank
|
||||
- Fixed list items containing a sentence-final number wrapping the number onto its own line
|
||||
- Fixed `/plan` and `/plan open` not acting on the existing plan when entering plan mode
|
||||
- Fixed skills invoked before auto-compaction being re-executed against the next user message
|
||||
- Fixed `/reload-plugins` and `/doctor` reporting load errors for disabled plugins
|
||||
- Fixed Agent tool with `isolation: "worktree"` reusing stale worktrees from prior sessions
|
||||
- Fixed disabled MCP servers appearing as "failed" in `/status`
|
||||
- Fixed `TaskList` returning tasks in arbitrary filesystem order instead of sorted by ID
|
||||
- Fixed spurious "GitHub API rate limit exceeded" hints when `gh` output contained PR titles mentioning "rate limit"
|
||||
- Fixed SDK/bridge `read_file` not correctly enforcing size cap on growing files
|
||||
- Fixed PR not linked to session when working in a git worktree
|
||||
- Fixed `/doctor` warning about MCP server entries overridden by a higher-precedence scope
|
||||
- Windows: removed false-positive "Windows requires 'cmd /c' wrapper" MCP config warning
|
||||
- [VSCode] Fixed voice dictation's first recording producing nothing on macOS while the microphone permission prompt is showing
|
||||
|
||||
## 2.1.118
|
||||
|
||||
- Added vim visual mode (`v`) and visual-line mode (`V`) with selection, operators, and visual feedback
|
||||
- Merged `/cost` and `/stats` into `/usage` — both remain as typing shortcuts that open the relevant tab
|
||||
- Create and switch between named custom themes from `/theme`, or hand-edit JSON files in `~/.claude/themes/`; plugins can also ship themes via a `themes/` directory
|
||||
- Hooks can now invoke MCP tools directly via `type: "mcp_tool"`
|
||||
- Added `DISABLE_UPDATES` env var to completely block all update paths including manual `claude update` — stricter than `DISABLE_AUTOUPDATER`
|
||||
- WSL on Windows can now inherit Windows-side managed settings via the `wslInheritsWindowsSettings` policy key
|
||||
- Auto mode: include `"$defaults"` in `autoMode.allow`, `autoMode.soft_deny`, or `autoMode.environment` to add custom rules alongside the built-in list instead of replacing it
|
||||
- Added a "Don't ask again" option to the auto mode opt-in prompt
|
||||
- Added `claude plugin tag` to create release git tags for plugins with version validation
|
||||
- `--continue`/`--resume` now find sessions that added the current directory via `/add-dir`
|
||||
- `/color` now syncs the session accent color to claude.ai/code when Remote Control is connected
|
||||
- The `/model` picker now honors `ANTHROPIC_DEFAULT_*_MODEL_NAME`/`_DESCRIPTION` overrides when using a custom `ANTHROPIC_BASE_URL` gateway
|
||||
- When auto-update skips a plugin due to another plugin's version constraint, the skip now appears in `/doctor` and the `/plugin` Errors tab
|
||||
- Fixed `/mcp` menu hiding OAuth Authenticate/Re-authenticate actions for servers configured with `headersHelper`, and HTTP/SSE MCP servers with custom headers being stuck in "needs authentication" after a transient 401
|
||||
- Fixed MCP servers whose OAuth token response omits `expires_in` requiring re-authentication every hour
|
||||
- Fixed MCP step-up authorization silently refreshing instead of prompting for re-consent when the server's `insufficient_scope` 403 names a scope the current token already has
|
||||
- Fixed an unhandled promise rejection when an MCP server's OAuth flow times out or is cancelled
|
||||
- Fixed MCP OAuth refresh proceeding without its cross-process lock under contention
|
||||
- Fixed macOS keychain race where a concurrent MCP token refresh could overwrite a freshly-refreshed OAuth token, causing unexpected "Please run /login" prompts
|
||||
- Fixed OAuth token refresh failing when the server revokes a token before its local expiry time
|
||||
- Fixed credential save crash on Linux/Windows corrupting `~/.claude/.credentials.json`
|
||||
- Fixed `/login` having no effect in a session launched with `CLAUDE_CODE_OAUTH_TOKEN` — the env token is now cleared so disk credentials take effect
|
||||
- Fixed unreadable text in the "new messages" scroll pill and `/plugin` badges
|
||||
- Fixed plan acceptance dialog offering "auto mode" instead of "bypass permissions" when running with `--dangerously-skip-permissions`
|
||||
- Fixed agent-type hooks failing with "Messages are required for agent hooks" when configured for events other than `Stop` or `SubagentStop`
|
||||
- Fixed `prompt` hooks re-firing on tool calls made by an agent-hook verifier subagent
|
||||
- Fixed `/fork` writing the full parent conversation to disk per fork — now writes a pointer and hydrates on read
|
||||
- Fixed Alt+K / Alt+X / Alt+^ / Alt+_ freezing keyboard input
|
||||
- Fixed connecting to a remote session overwriting your local `model` setting in `~/.claude/settings.json`
|
||||
- Fixed typeahead showing "No commands match" error when pasting file paths that start with `/`
|
||||
- Fixed `plugin install` on an already-installed plugin not re-resolving a dependency installed at the wrong version
|
||||
- Fixed unhandled errors from file watcher on invalid paths or fd exhaustion
|
||||
- Fixed Remote Control sessions getting archived on transient CCR initialization blips during JWT refresh
|
||||
- Fixed subagents resumed via `SendMessage` not restoring the explicit `cwd` they were spawned with
|
||||
|
||||
## 2.1.117
|
||||
|
||||
- Forked subagents can now be enabled on external builds by setting `CLAUDE_CODE_FORK_SUBAGENT=1`
|
||||
@@ -45,6 +264,7 @@
|
||||
- Agent frontmatter `hooks:` now fire when running as a main-thread agent via `--agent`
|
||||
- Slash command menu now shows "No commands match" when your filter has zero results, instead of disappearing
|
||||
- Security: sandbox auto-allow no longer bypasses the dangerous-path safety check for `rm`/`rmdir` targeting `/`, `$HOME`, or other critical system directories
|
||||
- Claude Code and installer now use `https://downloads.claude.ai/claude-code-releases` instead of `https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases`
|
||||
- Fixed Devanagari and other Indic scripts rendering with broken column alignment in the terminal UI
|
||||
- Fixed Ctrl+- not triggering undo in terminals using the Kitty keyboard protocol (iTerm2, Ghostty, kitty, WezTerm, Windows Terminal)
|
||||
- Fixed Cmd+Left/Right not jumping to line start/end in terminals that use the Kitty keyboard protocol (Warp fullscreen, kitty, Ghostty, WezTerm)
|
||||
|
||||
Reference in New Issue
Block a user