mirror of
https://github.com/anthropics/claude-code.git
synced 2026-04-19 10:02:42 +00:00
Compare commits
6 Commits
claude/add
...
inigo/tria
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
54c7be5b3f | ||
|
|
22fdf68049 | ||
|
|
227817d0f2 | ||
|
|
b9fbc7796b | ||
|
|
b543a25624 | ||
|
|
1e03cc7fc4 |
@@ -30,7 +30,10 @@ TASK:
|
||||
|
||||
**If EVENT is "issues" (new issue):**
|
||||
|
||||
4. First, check if this issue is actually about Claude Code (the CLI/IDE tool). Issues about the Claude API, claude.ai, the Claude app, Anthropic billing, or other Anthropic products should be labeled `invalid`. If invalid, apply only that label and stop.
|
||||
4. First, check if this issue is actually about Claude Code.
|
||||
- Look for Claude Code signals in the issue BODY: a `Claude Code Version` field or `claude --version` output, references to the `claude` CLI command, terminal sessions, the VS Code/JetBrains extensions, `CLAUDE.md` files, `.claude/` directories, MCP servers, Cowork, Remote Control, or the web UI at claude.ai/code. If ANY such signal is present, this IS a Claude Code issue — proceed to step 5.
|
||||
- Only if NO Claude Code signals are present: check whether a different Anthropic product (claude.ai chat, Claude Desktop/Mobile apps, the raw Anthropic API/SDK, or account billing with no CLI involvement) is the *subject* of the complaint, not merely mentioned for context. If so, apply `invalid` and stop. If ambiguous, proceed to step 5 WITHOUT applying `invalid`.
|
||||
- The body text is authoritative. If a form dropdown (e.g. Platform) contradicts evidence in the body, trust the body — dropdowns are often mis-selected.
|
||||
|
||||
5. Analyze and apply category labels:
|
||||
- Type (bug, enhancement, question, etc.)
|
||||
@@ -67,4 +70,5 @@ GUIDELINES:
|
||||
- Be conservative with lifecycle labels — only apply when clearly warranted
|
||||
- Only apply lifecycle labels (`needs-repro`, `needs-info`) to bugs — never to questions or enhancements
|
||||
- When in doubt, don't apply a lifecycle label — false positives are worse than missing labels
|
||||
- It's okay to not add any labels if none are clearly applicable
|
||||
- On new issues (EVENT "issues"), always apply exactly one of `bug`, `enhancement`, `question`, `invalid`, or `duplicate`. If unsure, pick the closest fit — an imperfect category label is better than none.
|
||||
- On comment events, it's okay to make no changes if nothing applies.
|
||||
|
||||
121
CHANGELOG.md
121
CHANGELOG.md
@@ -1,5 +1,126 @@
|
||||
# Changelog
|
||||
|
||||
## 2.1.97
|
||||
|
||||
- Added focus view toggle (`Ctrl+O`) in `NO_FLICKER` mode showing prompt, one-line tool summary with edit diffstats, and final response
|
||||
- Added `refreshInterval` status line setting to re-run the status line command every N seconds
|
||||
- Added `workspace.git_worktree` to the status line JSON input, set when the current directory is inside a linked git worktree
|
||||
- Added `● N running` indicator in `/agents` next to agent types with live subagent instances
|
||||
- Added syntax highlighting for Cedar policy files (`.cedar`, `.cedarpolicy`)
|
||||
- Fixed `--dangerously-skip-permissions` being silently downgraded to accept-edits mode after approving a write to a protected path
|
||||
- Fixed and hardened Bash tool permissions, tightening checks around env-var prefixes and network redirects, and reducing false prompts on common commands
|
||||
- Fixed permission rules with names matching JavaScript prototype properties (e.g. `toString`) causing `settings.json` to be silently ignored
|
||||
- Fixed managed-settings allow rules remaining active after an admin removed them until process restart
|
||||
- Fixed `permissions.additionalDirectories` changes in settings not applying mid-session
|
||||
- Fixed removing a directory from `settings.permissions.additionalDirectories` revoking access to the same directory passed via `--add-dir`
|
||||
- Fixed MCP HTTP/SSE connections accumulating ~50 MB/hr of unreleased buffers when servers reconnect
|
||||
- Fixed MCP OAuth `oauth.authServerMetadataUrl` not being honored on token refresh after restart, fixing ADFS and similar IdPs
|
||||
- Fixed 429 retries burning all attempts in ~13 seconds when the server returns a small `Retry-After` — exponential backoff now applies as a minimum
|
||||
- Fixed rate-limit upgrade options disappearing after context compaction
|
||||
- Fixed several `/resume` picker issues: `--resume <name>` opening uneditable, Ctrl+A reload wiping search, empty list swallowing navigation, task-status text replacing conversation summary, and cross-project staleness
|
||||
- Fixed file-edit diffs disappearing on `--resume` when the edited file was larger than 10KB
|
||||
- Fixed `--resume` cache misses and lost mid-turn input from attachment messages not being saved to the transcript
|
||||
- Fixed messages typed while Claude is working not being persisted to the transcript
|
||||
- Fixed prompt-type `Stop`/`SubagentStop` hooks failing on long sessions, and hook evaluator API errors displaying "JSON validation failed" instead of the actual message
|
||||
- Fixed subagents with worktree isolation or `cwd:` override leaking their working directory back to the parent session's Bash tool
|
||||
- Fixed compaction writing duplicate multi-MB subagent transcript files on prompt-too-long retries
|
||||
- Fixed `claude plugin update` reporting "already at the latest version" for git-based marketplace plugins when the remote had newer commits
|
||||
- Fixed slash command picker breaking when a plugin's frontmatter `name` is a YAML boolean keyword
|
||||
- Fixed copying wrapped URLs in `NO_FLICKER` mode inserting spaces at line breaks
|
||||
- Fixed scroll rendering artifacts in `NO_FLICKER` mode when running inside zellij
|
||||
- Fixed a crash in `NO_FLICKER` mode when hovering over MCP tool results
|
||||
- Fixed a `NO_FLICKER` mode memory leak where API retries left stale streaming state
|
||||
- Fixed slow mouse-wheel scrolling in `NO_FLICKER` mode on Windows Terminal
|
||||
- Fixed custom status line not displaying in `NO_FLICKER` mode on terminals shorter than 24 rows
|
||||
- Fixed Shift+Enter and Alt/Cmd+arrow shortcuts not working in Warp with `NO_FLICKER` mode
|
||||
- Fixed Korean/Japanese/Unicode text becoming garbled when copied in no-flicker mode on Windows
|
||||
- Fixed Bedrock SigV4 authentication failing when `AWS_BEARER_TOKEN_BEDROCK` or `ANTHROPIC_BEDROCK_BASE_URL` are set to empty strings (as GitHub Actions does for unset inputs)
|
||||
- Improved Accept Edits mode to auto-approve filesystem commands prefixed with safe env vars or process wrappers (e.g. `LANG=C rm foo`, `timeout 5 mkdir out`)
|
||||
- Improved auto mode and bypass-permissions mode to auto-approve sandbox network access prompts
|
||||
- Improved sandbox: `sandbox.network.allowMachLookup` now takes effect on macOS
|
||||
- Improved image handling: pasted and attached images are now compressed to the same token budget as images read via the Read tool
|
||||
- Improved slash command and `@`-mention completion to trigger after CJK sentence punctuation, so Japanese/Chinese input no longer requires a space before `/` or `@`
|
||||
- Improved Bridge sessions to show the local git repo, branch, and working directory on the claude.ai session card
|
||||
- Improved footer layout: indicators (Focus, notifications) now stay on the mode-indicator row instead of wrapping below
|
||||
- Improved context-low warning to show as a transient footer notification instead of a persistent row
|
||||
- Improved markdown blockquotes to show a continuous left bar across wrapped lines
|
||||
- Improved session transcript size by skipping empty hook entries and capping stored pre-edit file copies
|
||||
- Improved transcript accuracy: per-block entries now carry the final token usage instead of the streaming placeholder
|
||||
- Improved Bash tool OTEL tracing: subprocesses now inherit a W3C `TRACEPARENT` env var when tracing is enabled
|
||||
- Updated `/claude-api` skill to cover Managed Agents alongside the Claude API
|
||||
|
||||
## 2.1.96
|
||||
|
||||
- Fixed Bedrock requests failing with `403 "Authorization header is missing"` when using `AWS_BEARER_TOKEN_BEDROCK` or `CLAUDE_CODE_SKIP_BEDROCK_AUTH` (regression in 2.1.94)
|
||||
|
||||
## 2.1.94
|
||||
|
||||
- Added support for Amazon Bedrock powered by Mantle, set `CLAUDE_CODE_USE_MANTLE=1`
|
||||
- Changed default effort level from medium to high for API-key, Bedrock/Vertex/Foundry, Team, and Enterprise users (control this with `/effort`)
|
||||
- Added compact `Slacked #channel` header with a clickable channel link for Slack MCP send-message tool calls
|
||||
- Added `keep-coding-instructions` frontmatter field support for plugin output styles
|
||||
- Added `hookSpecificOutput.sessionTitle` to `UserPromptSubmit` hooks for setting the session title
|
||||
- Plugin skills declared via `"skills": ["./"]` now use the skill's frontmatter `name` for the invocation name instead of the directory basename, giving a stable name across install methods
|
||||
- Fixed agents appearing stuck after a 429 rate-limit response with a long Retry-After header — the error now surfaces immediately instead of silently waiting
|
||||
- Fixed Console login on macOS silently failing with "Not logged in" when the login keychain is locked or its password is out of sync — the error is now surfaced and `claude doctor` diagnoses the fix
|
||||
- Fixed plugin skill hooks defined in YAML frontmatter being silently ignored
|
||||
- Fixed plugin hooks failing with "No such file or directory" when `CLAUDE_PLUGIN_ROOT` was not set
|
||||
- Fixed `${CLAUDE_PLUGIN_ROOT}` resolving to the marketplace source directory instead of the installed cache for local-marketplace plugins on startup
|
||||
- Fixed scrollback showing the same diff repeated and blank pages in long-running sessions
|
||||
- Fixed multiline user prompts in the transcript indenting wrapped lines under the `❯` caret instead of under the text
|
||||
- Fixed Shift+Space inserting the literal word "space" instead of a space character in search inputs
|
||||
- Fixed hyperlinks opening two browser tabs when clicked inside tmux running in an xterm.js-based terminal (VS Code, Hyper, Tabby)
|
||||
- Fixed an alt-screen rendering bug where content height changes mid-scroll could leave compounding ghost lines
|
||||
- Fixed `FORCE_HYPERLINK` environment variable being ignored when set via `settings.json` `env`
|
||||
- Fixed native terminal cursor not tracking the selected tab in dialogs, so screen readers and magnifiers can follow tab navigation
|
||||
- Fixed Bedrock invocation of Sonnet 3.5 v2 by using the `us.` inference profile ID
|
||||
- Fixed SDK/print mode not preserving the partial assistant response in conversation history when interrupted mid-stream
|
||||
- Improved `--resume` to resume sessions from other worktrees of the same repo directly instead of printing a `cd` command
|
||||
- Fixed CJK and other multibyte text being corrupted with U+FFFD in stream-json input/output when chunk boundaries split a UTF-8 sequence
|
||||
- [VSCode] Reduced cold-open subprocess work on starting a session
|
||||
- [VSCode] Fixed dropdown menus selecting the wrong item when the mouse was over the list while typing or using arrow keys
|
||||
- [VSCode] Added a warning banner when `settings.json` files fail to parse, so users know their permission rules are not being applied
|
||||
|
||||
## 2.1.92
|
||||
|
||||
- Added `forceRemoteSettingsRefresh` policy setting: when set, the CLI blocks startup until remote managed settings are freshly fetched, and exits if the fetch fails (fail-closed)
|
||||
- Added interactive Bedrock setup wizard accessible from the login screen when selecting "3rd-party platform" — guides you through AWS authentication, region configuration, credential verification, and model pinning
|
||||
- Added per-model and cache-hit breakdown to `/cost` for subscription users
|
||||
- `/release-notes` is now an interactive version picker
|
||||
- Remote Control session names now use your hostname as the default prefix (e.g. `myhost-graceful-unicorn`), overridable with `--remote-control-session-name-prefix`
|
||||
- Pro users now see a footer hint when returning to a session after the prompt cache has expired, showing roughly how many tokens the next turn will send uncached
|
||||
- Fixed subagent spawning permanently failing with "Could not determine pane count" after tmux windows are killed or renumbered during a long-running session
|
||||
- Fixed prompt-type Stop hooks incorrectly failing when the small fast model returns `ok:false`, and restored `preventContinuation:true` semantics for non-Stop prompt-type hooks
|
||||
- Fixed tool input validation failures when streaming emits array/object fields as JSON-encoded strings
|
||||
- Fixed an API 400 error that could occur when extended thinking produced a whitespace-only text block alongside real content
|
||||
- Fixed accidental feedback survey submissions from auto-pilot keypresses and consecutive-prompt digit collisions
|
||||
- Fixed misleading "esc to interrupt" hint appearing alongside "esc to clear" when a text selection exists in fullscreen mode during processing
|
||||
- Fixed Homebrew install update prompts to use the cask's release channel (`claude-code` → stable, `claude-code@latest` → latest)
|
||||
- Fixed `ctrl+e` jumping to the end of the next line when already at end of line in multiline prompts
|
||||
- Fixed an issue where the same message could appear at two positions when scrolling up in fullscreen mode (iTerm2, Ghostty, and other terminals with DEC 2026 support)
|
||||
- Fixed idle-return "/clear to save X tokens" hint showing cumulative session tokens instead of current context size
|
||||
- Fixed plugin MCP servers stuck "connecting" on session start when they duplicate a claude.ai connector that is unauthenticated
|
||||
- Improved Write tool diff computation speed for large files (60% faster on files with tabs/`&`/`$`)
|
||||
- Removed `/tag` command
|
||||
- Removed `/vim` command (toggle vim mode via `/config` → Editor mode)
|
||||
- Linux sandbox now ships the `apply-seccomp` helper in both npm and native builds, restoring unix-socket blocking for sandboxed commands
|
||||
|
||||
## 2.1.91
|
||||
|
||||
- Added MCP tool result persistence override via `_meta["anthropic/maxResultSizeChars"]` annotation (up to 500K), allowing larger results like DB schemas to pass through without truncation
|
||||
- Added `disableSkillShellExecution` setting to disable inline shell execution in skills, custom slash commands, and plugin commands
|
||||
- Added support for multi-line prompts in `claude-cli://open?q=` deep links (encoded newlines `%0A` no longer rejected)
|
||||
- Plugins can now ship executables under `bin/` and invoke them as bare commands from the Bash tool
|
||||
- Fixed transcript chain breaks on `--resume` that could lose conversation history when async transcript writes fail silently
|
||||
- Fixed `cmd+delete` not deleting to start of line on iTerm2, kitty, WezTerm, Ghostty, and Windows Terminal
|
||||
- Fixed plan mode in remote sessions losing track of the plan file after a container restart, which caused permission prompts on plan edits and an empty plan-approval modal
|
||||
- Fixed JSON schema validation for `permissions.defaultMode: "auto"` in settings.json
|
||||
- Fixed Windows version cleanup not protecting the active version's rollback copy
|
||||
- `/feedback` now explains why it's unavailable instead of disappearing from the slash menu
|
||||
- Improved `/claude-api` skill guidance for agent design patterns including tool surface decisions, context management, and caching strategy
|
||||
- Improved performance: faster `stripAnsi` on Bun by routing through `Bun.stripANSI`
|
||||
- Edit tool now uses shorter `old_string` anchors, reducing output tokens
|
||||
|
||||
## 2.1.90
|
||||
|
||||
- Added `/powerup` — interactive lessons teaching Claude Code features with animated demos
|
||||
|
||||
@@ -49,10 +49,6 @@ For more installation options, uninstall steps, and troubleshooting, see the [se
|
||||
|
||||
This repository includes several Claude Code plugins that extend functionality with custom commands and agents. See the [plugins directory](./plugins/README.md) for detailed documentation on available plugins.
|
||||
|
||||
## Joke
|
||||
|
||||
Why do programmers prefer dark mode? Because light attracts bugs.
|
||||
|
||||
## Reporting Bugs
|
||||
|
||||
We welcome your feedback. Use the `/bug` command to report issues directly within Claude Code, or file a [GitHub issue](https://github.com/anthropics/claude-code/issues).
|
||||
|
||||
Reference in New Issue
Block a user