Hosts that give each session its own config directory can set CLAUDE_CODE_PROJECT_DIR_NAME to choose a short per-project transcript directory name. On the host that starts Claude Code, set CLAUDE_CODE_PROJECT_DIR_NAME=project-a so the project's transcript directory uses project-a.
FEATURE
Clear selections deliberately
Bind a key to selection:clear to clear an in-app text selection, including in agents view. In fullscreen, Esc keeps a mouse selection highlighted while still interrupting or dismissing.
FEATURE
GitLab merge-request status at a glance
Repositories with a GitLab remote and authenticated glab now show MR !N and draft, pending, or green status in the footer and statusline.
FEATURE
Resume when a usage limit resets
Claude Code can now continue your session when a claude.ai usage limit resets. Turn it off in /config under “Continue automatically at usage limit.”
FEATURE
Your account email stays for identification
Claude is instructed to use your account email only to identify you, and not send it to unrelated services unless you ask.
FEATURE
Block risky Windows namespace paths early
Remote reads, session restore, CLAUDE.md includes, workflow scripts, and uploads now reject Windows NT-namespace \??\ paths, hardening remaining pre-approval access against NTLM credential leaks.
BUGFIX
Permissions stay put in long sessions
After a long conversation is compacted, auto mode no longer repeatedly rechecks and denies sandboxed commands’ network access. Session-scoped allow and deny answers also persist for background subagent permission prompts.
FEATURE
API response failures no longer fail silently
A non-streaming fallback response with a missing thinking or text field no longer crashes Claude Code. Empty or malformed API errors now report content type, body kind, size, request ID, and why streaming failed.
FEATURE
Markdown renders cleanly and consistently
Unusual Unicode sequences no longer make markdown rendering extremely slow, and --- no longer runs into the next line. Your prompts now render markdown like replies, including code blocks, inline code, and lists.
BUGFIX
Agent messaging handles long session lists
SendMessage accepts recipients copied from ListAgents even at the 200-character session-name cap or with many emoji. Both commands now say when the session list was too long to check completely.
BUGFIX
Git remote detection finds the right host
Repository detection now reads unusual git-remote userinfo without choosing the wrong host, so links and repository-specific behavior use the right host.
BUGFIX
MCP diagnostics keep secrets out of view
MCP diagnostics no longer print resolved secrets: scope-conflict warnings show configured ${VAR}, and connection-failure details show only the server origin.
BUGFIX
Marketplace allowlists check the real Git host
strictKnownMarketplaces allowlists no longer accept an SCP-style Git marketplace source whose host differs from where Git will actually connect.
BUGFIX
Login links and reminders reach the right place
Fullscreen copying keeps all characters in modal text such as a /login OAuth URL. Expired profile credentials point to /login when a claude.ai login would take precedence, and stale CLAUDE_CODE_OAUTH_TOKEN reminders appear only to you, not Claude’s resumed turn.
BUGFIX
Mid-turn controls and queued shell commands behave
While Claude works, /permissions changes apply to the rest of the turn and /add-dir <path> works. Fullscreen TUI dialogs can open mid-turn; dialogs survive a running ! command, and edited queued ! commands stay shell commands.
BUGFIX
Queued input stays queued
Queued messages no longer reappear in prompt history while queued; Esc on a selected queued message does not interrupt the turn, and ! mode no longer sticks after a mid-turn submit.
BUGFIX
Fullscreen restarts keep restrictions honest
Restarting after “Try the new fullscreen renderer?” preserves permission mode, tool rules, model, and effort flags. /tui declines a switch when it cannot carry --allowed-tools or --disallowed-tools restrictions through restart.
BUGFIX
Permission prompts keep their scope and answer
Trust prompts now include the repository-wide scope warning when a repository appeared after its directory was first seen. Closing an IDE diff tab during a re-prompt no longer applies the previous input to the new prompt.
BUGFIX
Remote Control stays in sync and stops safely
Remote Control files from Desktop or VS Code now upload for phone and web. Signing this computer into another account or organization stops the session within seconds with a reason. Sessions hosted by Desktop or VS Code send permission-mode updates to phone and claude.ai/code, and model updates to claude.ai/code. Effort chosen on a phone or claude.ai/code applies to terminal and Desktop/VS Code-hosted sessions; the session also publishes its effort level to connected clients.
BUGFIX
Permission previews share less and show approvers enough
Permission previews relay only to trusted channel servers and honor permission-capability opt-out. Masking no longer hides commands, paths, or destinations from approvers, while large private keys remain redacted and provider API tokens remain redacted even when immediately followed by shell delimiters.
BUGFIX
Desktop cross-session messages arrive
Claude Desktop inter-session messages are no longer silently dropped when the recipient reads cross-session messaging as disabled, leaving the sender stuck “thinking.”
FEATURE
Auto session titles become useful labels
Auto-generated session titles now favor short, specific names such as “Login button bug” instead of restating the request as a sentence.
FEATURE
The built-in claude-api skill uses less context
Loading the built-in claude-api skill now costs about 25k tokens instead of about 200k+ by loading reference docs on demand.
BUGFIX
Goals clear failed turns and check on waiting work
/goal clears itself with notice after unrecoverable errors. When background tasks keep it waiting 30+ minutes, Claude checks in; set CLAUDE_CODE_GOAL_CHECKIN_MINUTES=0 to opt out.
BUGFIX
setup-token rejects stray arguments
claude setup-token now rejects unexpected extra arguments instead of silently ignoring them.
FEATURE
Tool activity has less visual noise
Auto mode no longer repeats “Allowed by auto mode classifier” below every Agent tool call, and the running tool header dims its elapsed-time counter beside bold counts.
FEATURE
Teams inherit the leader model
The /config “Default teammate model” setting is gone: agent-team teammates use the leader’s model unless spawn names one.
FEATURE
Background notifications use the usual tags
Between-turn background task notifications now reach the model inside <system-reminder> tags, matching mid-turn delivery.
FEATURE
Mantle skips an unnecessary startup probe
At startup, Mantle skips the admin-pin availability probe when a main-loop model is already selected.
FEATURE
Read-only settings no longer stall Windows startup
On Windows, startup no longer stalls on repeated rename retries when ~/.claude.json is read-only.
BUGFIX
Consecutive shell commands keep one accurate record
Consecutive shell commands no longer split into multiple “Ran 1 shell command” rows when todo or task updates occur between them.
原始 CHANGELOG
Original changelog替每個專案的對話紀錄取短名
Added the optional `CLAUDE_CODE_PROJECT_DIR_NAME` environment variable: hosts that give each session its own config directory can choose a short name for the per-project transcript directory
Original changelog選取文字可用按鍵清掉,Esc 不再誤清
Added the `selection:clear` keybinding action, so a key can be bound to clear an in-app text selection; also works in the agents view
Changed Esc in fullscreen mode to no longer clear a mouse text selection: it interrupts or dismisses as usual and the selection stays highlighted
Original changelogGitLab 合併請求狀態直接顯示
Added a GitLab merge request badge to the footer and statusline: repos with a GitLab remote and an authenticated glab CLI show MR !N with draft/pending/green states
Original changelog用量額度重設後可自動接著工作
Claude Code now continues your session automatically when a claude.ai usage limit resets; turn it off in `/config` ("Continue automatically at usage limit")
Original changelog帳號信箱只用來辨識你
Claude is now told to use your account email only to identify you, and not to send it to unrelated services unless you ask
Original changelogWindows 特殊路徑在核准前先擋下
Security: remote file reads, session restore, CLAUDE.md includes, workflow scripts and file uploads now reject Windows NT-namespace (`\??\`) paths, hardening the remaining pre-approval file accesses against the NTLM credential-leak vector
Original changelog長對話裡的權限回答不再失憶
Fixed auto mode in very long sessions repeatedly re-checking and denying sandboxed commands' network access after the conversation had been compacted
Fixed session-scoped permission answers (including denies) being dropped when answering background subagent tool permission prompts
Original changelog異常 API 回應不再直接當機,錯誤更好查
Fixed a crash when an API response on the non-streaming fallback path (typically via third-party gateways) contained a thinking block missing its thinking field or a text block missing its text field
Improved the "API returned an empty or malformed response" error to say what came back (content type, body kind, size, request ID) and why the original streaming request failed
Original changelogMarkdown 顯示更快,也更像對話內容
Fixed markdown rendering becoming extremely slow for some messages containing unusual Unicode sequences
Fixed a `---` horizontal rule in rendered markdown running into the line after it
Improved the transcript: your own prompts now render markdown (highlighted code blocks, inline code, lists) the same way replies do
Original changelog代理訊息與清單不再把長名稱看錯
Fixed `SendMessage` rejecting a recipient copied from `ListAgents` when the session name is at the 200-character cap or emoji-heavy
`SendMessage` and `ListAgents` now say when your account's session list was too long to check completely, instead of treating unseen sessions as absent
Original changelogGit remote 會辨識正確主機
Fixed repository detection mis-reading the host of git remotes with unusual userinfo, producing links and repo-specific behavior for the wrong host
Original changelogMCP 診斷不再露出機密
Fixed MCP diagnostics printing resolved secrets: scope-conflict warnings now show the configured `${VAR}` form, and connection-failure details show only the server origin
Original changelog市集來源白名單會核對真正連線主機
Fixed `strictKnownMarketplaces` allowlists accepting SCP-style git marketplace sources whose host differs from the one git would actually connect to
Original changelog登入連結與登入提醒各自送到對的人
Fixed modal text such as the `/login` OAuth URL losing characters when copied in fullscreen
Fixed: after `/login` while `CLAUDE_CODE_OAUTH_TOKEN` is set, the stale-token reminder no longer leaks into Claude's automatically resumed turn — it now appears only to you
Expired Anthropic profile credential now points you at `/login` when a claude.ai login would take precedence
Original changelog執行中仍可開設定對話,佇列指令也不走樣
Fixed dialogs like `/permissions` opened while a `!` shell command was running being dismissed when the command finished
Fixed a queued `!` shell command being sent to the model as plain text after pressing up-arrow to edit the queued input
`/permissions` can now be opened while Claude is working — rule changes apply to the rest of the current turn
`/add-dir <path>` can now be used while Claude is working; `/add-dir`, `/autocompact`, `/theme`, `/help`, `/config` and `/advisor` dialogs open mid-turn in the fullscreen TUI
Original changelog佇列訊息不再搶進歷史,也不黏住 shell 模式
Fixed queued messages reappearing in the prompt history while still queued, Esc while selecting a queued message no longer interrupts the turn, and `!` mode no longer sticks after a mid-turn submit
Original changelog全螢幕重啟不再遺失限制規則
Fixed accepting the "Try the new fullscreen renderer?" prompt restarting the session without its permission mode (e.g. `--dangerously-skip-permissions`), tool allow/deny rules, model or effort flags
Fixed `/tui` dropping launch `--allowed-tools`/`--disallowed-tools` rules when it restarts; it now declines to switch, with the reason, when the session has restrictions a restart can't carry over
Original changelog權限提問會對準正確範圍與正確回答
Fixed trust prompts omitting the repository-wide scope warning when the directory was first seen before the repository existed there
Fixed a case where an IDE diff tab closing during a permission re-prompt could answer the new prompt with the previous input
Original changelog遠端控制傳檔、切帳號與跨裝置資訊更可靠
Fixed: files sent to the user during Remote Control sessions hosted by Claude Code Desktop or VS Code now upload, so they open on phone and web instead of showing an empty card
Remote Control: signing this computer in to a different claude.ai account or organization now stops the running session within seconds and says why, instead of a misleading HTTP 404 hours later
Remote Control sessions started from Claude Code Desktop or VS Code now keep phones and claude.ai/code updated on the session's permission mode (and claude.ai/code on the model) as they change
Remote Control: effort picks made on a phone or on claude.ai/code now apply to terminal- and Desktop/VS Code-hosted sessions, and the session publishes its effort level to connected clients
Original changelog權限預覽既不外送也不遮住關鍵內容
Fixed: permission previews now relay only to channel servers admitted by the inbound trust gate, and a server's explicit permission-capability opt-out is honored
Fixed: credential masking on relayed permission previews can no longer hide commands, paths, or destinations from the approver; oversized private-key blocks now redact under full-strength redaction
Fixed: provider API tokens that mask on permission previews now mask even when directly followed by shell delimiters
Original changelogDesktop 跨工作階段訊息不再悄悄遺失
Fixed Claude Desktop inter-session messages being silently dropped by the recipient session when cross-session messaging read as disabled, which left the sender's query "thinking" for many minutes
Original changelog自動產生的工作階段名稱更像標籤
Improved auto-generated session titles to read as short, specific names (e.g. "Login button bug") rather than sentences restating your request (e.g. "Fix the login button on mobile")
Original changelog內建 claude-api 技能載入少花上下文
Reduced the context cost of loading the built-in `claude-api` skill from ~200k+ tokens to ~25k by loading reference docs on demand
Original changelog目標遇到不可復原錯誤會清楚收尾,也會追問背景工作
`/goal` now clears itself with a notice when a turn dies on an unrecoverable error (e.g. revoked auth, an exhausted credit balance, or a context overflow) instead of staying armed
`/goal`: when background tasks keep a goal waiting for 30+ minutes, Claude now checks in on them instead of waiting indefinitely (set `CLAUDE_CODE_GOAL_CHECKIN_MINUTES=0` to opt out)
Original changelogsetup-token 多打一個參數也會被攔下
`claude setup-token` now rejects unexpected extra arguments instead of silently ignoring them
Original changelog工具畫面少掉重複標籤,重點更容易看
Removed the redundant "Allowed by auto mode classifier" line that auto mode showed under every Agent tool call
Dimmed the elapsed-time counter on the running tool header so it no longer competes with the bold counts
Original changelog代理團隊沿用領隊模型
Removed the "Default teammate model" setting from `/config`; agent-team teammates now use the leader's model unless the spawn names one
Original changelog背景通知沿用同一種標記格式
Background task notifications delivered between turns are now sent to the model inside `<system-reminder>` tags, matching mid-turn delivery
Original changelogMantle 啟動少做一次不必做的探查
Mantle: skip the admin-pin availability probe at startup when a main-loop model is already picked
Original changelog唯讀設定檔不再讓 Windows 啟動卡住
Windows: startup no longer stalls on repeated rename retries when `~/.claude.json` is read-only
Original changelog連續 shell 指令會合在正確的執行紀錄裡
Fixed consecutive shell commands splitting into multiple "Ran 1 shell command" rows when todo/task updates were interleaved between them