Broad stability pass fixes hung shell commands, permission-prompt races, slow markdown rendering, and a crash — plus hardening against Windows NT-namespace path leaks.
! shell command sometimes got sent to Claude as plain text instead of runningCLAUDE_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 directoryselection:clear keybinding action, so a key can be bound to clear an in-app text selection; also works in the agents viewclaude-api skill from ~200k+ tokens to ~25k by loading reference docs on demandSendMessage rejecting a recipient copied from ListAgents when the session name is at the 200-character cap or emoji-heavy${VAR} form, and connection-failure details show only the server originstrictKnownMarketplaces allowlists accepting SCP-style git marketplace sources whose host differs from the one git would actually connect to/login OAuth URL losing characters when copied in fullscreen--- horizontal rule in rendered markdown running into the line after it/permissions opened while a ! shell command was running being dismissed when the command finished! shell command being sent to the model as plain text after pressing up-arrow to edit the queued input! mode no longer sticks after a mid-turn submit--dangerously-skip-permissions), tool allow/deny rules, model or effort flags/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/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/config; agent-team teammates now use the leader's model unless the spawn names one/config ("Continue automatically at usage limit")\??\) paths, hardening the remaining pre-approval file accesses against the NTLM credential-leak vectorSendMessage and ListAgents now say when your account's session list was too long to check completely, instead of treating unseen sessions as absent/login when a claude.ai login would take precedence/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/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)claude setup-token now rejects unexpected extra arguments instead of silently ignoring them<system-reminder> tags, matching mid-turn delivery~/.claude.json is read-only