Change8

v2.1.234

Claude Code
14 features26 fixes12 improvementsclidesktopmcpsdkvscode

Summary

This release introduces several new features including enhanced GitLab integration, automatic session continuation at usage limits, and improved security for file access. Key bug fixes address issues with markdown rendering, API response handling, and permission management across various scenarios. Additionally, user experience is improved with better prompt rendering, clearer error messages, and more intuitive dialog behavior during active tasks.

New Features

  • Added the optional `CLAUDE_CODE_PROJECT_DIR_NAME` environment variable to specify a short name for per-project transcript directories.
  • Introduced the `selection:clear` keybinding action to clear in-app text selections, also functional in the agents view.
  • Added a GitLab merge request badge to the footer and statusline, displaying MR status for GitLab remotes with authenticated `glab` CLI.
  • Enabled automatic session continuation when a claude.ai usage limit resets, with an option to disable this in `/config`.
  • Enhanced security by rejecting Windows NT-namespace paths for remote file reads, session restore, CLAUDE.md includes, workflow scripts, and file uploads.
  • Remote Control sessions started from Claude Code Desktop or VS Code now keep phones and claude.ai/code updated on session permission mode and model changes.
  • Remote Control: effort picks made on a phone or claude.ai/code now apply to terminal- and Desktop/VS Code-hosted sessions, and the session publishes its effort level to connected clients.
  • The `SendMessage` and `ListAgents` commands now indicate when the account's session list is too long to check completely, instead of treating unseen sessions as absent.
  • Improved the transcript to render user's own prompts with markdown (highlighted code blocks, inline code, lists) similar to replies.
  • Reduced the context cost of loading the built-in `claude-api` skill by loading reference docs on demand.
  • Added the ability to open `/permissions` while Claude is working, with rule changes applying to the rest of the current turn.
  • Added the ability to use `/add-dir <path>` while Claude is working; `/add-dir`, `/autocompact`, `/theme`, `/help`, `/config`, and `/advisor` dialogs now open mid-turn in the fullscreen TUI.
  • The `/goal` command now clears itself with a notice when a turn fails due to an unrecoverable error (e.g., revoked auth, exhausted credit balance, context overflow).
  • Added a check-in mechanism for `/goal` when background tasks keep a goal waiting for over 30 minutes, with an option to opt-out.

Bug Fixes

  • Fixed auto mode in long sessions from repeatedly re-checking and denying sandboxed commands' network access after conversation compaction.
  • Fixed session-scoped permission answers (including denies) from being dropped when answering background subagent tool permission prompts.
  • Fixed a crash occurring when an API response on the non-streaming fallback path contained a thinking block missing its thinking field or a text block missing its text field.
  • Fixed markdown rendering becoming extremely slow for messages containing unusual Unicode sequences.
  • Fixed `SendMessage` rejecting a recipient copied from `ListAgents` when the session name was at the 200-character cap or emoji-heavy.
  • Fixed repository detection mis-reading the host of git remotes with unusual userinfo, preventing incorrect links and repo-specific behavior.
  • Fixed MCP diagnostics printing resolved secrets; scope-conflict warnings now show the configured `${VAR}` form, and connection-failure details show only the server origin.
  • Fixed `strictKnownMarketplaces` allowlists accepting SCP-style git marketplace sources whose host differs from the one git would actually connect to.
  • Fixed modal text, such as the `/login` OAuth URL, from losing characters when copied in fullscreen.
  • Fixed a `---` horizontal rule in rendered markdown from running into the line after it.
  • Fixed consecutive shell commands splitting into multiple 'Ran 1 shell command' rows when todo/task updates were interleaved.
  • Fixed dialogs like `/permissions` opened during a `!` shell command from being dismissed when the command finished.
  • Fixed a queued `!` shell command from being sent to the model as plain text after pressing up-arrow to edit the queued input.
  • Fixed queued messages reappearing in the prompt history while still queued, and Esc while selecting a queued message no longer interrupts the turn.
  • Fixed accepting the 'Try the new fullscreen renderer?' prompt from restarting the session without its permission mode, 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 a reason when session restrictions cannot be carried over.
  • Fixed trust prompts omitting the repository-wide scope warning when the directory was first seen before the repository existed.
  • Fixed a case where an IDE diff tab closing during a permission re-prompt could answer the new prompt with the previous input.
  • Fixed files sent to the user during Remote Control sessions hosted by Claude Code Desktop or VS Code from not uploading, ensuring they open on phone and web.
  • Fixed the stale-token reminder from leaking into Claude's automatically resumed turn after `/login` when `CLAUDE_CODE_OAUTH_TOKEN` is set; it now appears only to the user.
  • Fixed permission previews from not relaying only to channel servers admitted by the inbound trust gate, and ensured a server's explicit permission-capability opt-out is honored.
  • Fixed credential masking on relayed permission previews from hiding commands, paths, or destinations from the approver; oversized private-key blocks now redact correctly.
  • Fixed provider API tokens that mask on permission previews from masking even when directly followed by shell delimiters.
  • Fixed Claude Desktop inter-session messages from being silently dropped by the recipient session when cross-session messaging was read as disabled, preventing prolonged 'thinking' states.
  • Remote Control: Fixed signing into a different claude.ai account or organization from not stopping the running session within seconds and stating the reason, preventing misleading HTTP 404 errors hours later.
  • Expired Anthropic profile credential now correctly points the user to `/login` when a claude.ai login would take precedence.

Improvements

  • Claude is now instructed to use the account email solely for identification and not to send it to unrelated services unless explicitly asked.
  • Improved the 'API returned an empty or malformed response' error message to include content type, body kind, size, and the reason for streaming request failure.
  • Improved auto-generated session titles to be short and specific (e.g., 'Login button bug') instead of restating the user's request.
  • The `/permissions` dialog can now be opened while Claude is working, with rule changes applying to the rest of the current turn.
  • The `/add-dir <path>` command can now be used while Claude is working; several dialogs (`/add-dir`, `/autocompact`, `/theme`, `/help`, `/config`, `/advisor`) now open mid-turn in the fullscreen TUI.
  • Changed Esc in fullscreen mode to no longer clear a mouse text selection; it now interrupts or dismisses as usual while the selection remains highlighted.
  • Removed the redundant 'Allowed by auto mode classifier' line displayed under every Agent tool call.
  • Removed the 'Default teammate model' setting from `/config`; agent teammates now use the leader's model unless the spawn names one.
  • Dimmed the elapsed-time counter on the running tool header to reduce visual competition with bold counts.
  • Background task notifications delivered between turns are now sent to the model inside `<system-reminder>` tags, consistent with mid-turn delivery.
  • Mantle: Skips the admin-pin availability probe at startup when a main-loop model is already picked.
  • Windows: Startup no longer stalls on repeated rename retries when `~/.claude.json` is read-only.

Claude Code Documentation