surshar / claude-code
Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.
Built by Anthropic · github.com/anthropics
Large file, diff not shown.
| @@ -6,8 +6,81 @@ | ||
| 6 | 6 | <author><name>Anthropic</name></author> |
| 7 | 7 | <link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md"/> |
| 8 | 8 | <link rel="self" type="application/atom+xml" href="https://raw.githubusercontent.com/anthropics/claude-code/main/feed.xml"/> |
| 9 | - <updated>2026-09-03T23:48:04Z</updated> | |
| 9 | + <updated>2026-09-04T19:58:03Z</updated> | |
| 10 | 10 | <entry> |
| 11 | + <id>https://github.com/anthropics/claude-code/releases/tag/v2.1.261</id> | |
| 12 | + <title>Claude Code v2.1.261</title> | |
| 13 | + <link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.261"/> | |
| 14 | + <updated>2026-09-04T19:58:03Z</updated> | |
| 15 | + <content type="html"><p>• Added an "Organization policy" line to /status and claude doctor that says why your organization's policy could not be loaded, such as a proxy not passing the endpoint through</p> | |
| 16 | +<p>• Added bashOutputMaxChars and taskOutputMaxChars settings to raise how much command and background-task output Claude receives inline before it is saved to a file, up to 128K characters</p> | |
| 17 | +<p>• Added --append-subagent-system-prompt-file to read the subagent system prompt from a file, for prompts too large to pass on the command line</p> | |
| 18 | +<p>• Added /skill-doctor to show which loaded skills go unused and what they cost in context, so you can prune them</p> | |
| 19 | +<p>• Fixed typed or pasted characters occasionally landing out of order or being dropped during fast input or key repeat</p> | |
| 20 | +<p>• Fixed /add-dir &lt;subdirectory&gt; printing a false "couldn't be resolved" error when the working directory is on a /net automount</p> | |
| 21 | +<p>• Fixed the Bedrock setup wizard hanging when AWS or an AWS credential helper never responds (it now times out with a clear error), and its model checks failing behind a TLS-inspecting proxy</p> | |
| 22 | +<p>• Fixed cloud sessions discarding a plugin synced from claude.ai when managed settings force-enable it in enabledPlugins, then falling back to a marketplace clone that could fail</p> | |
| 23 | +<p>• Fixed being unable to delete the character immediately before an inline [Image #N] chip in the prompt input</p> | |
| 24 | +<p>• Fixed resuming a session losing hook output and other context around parallel tool calls, which changed the resumed request</p> | |
| 25 | +<p>• Fixed Remote Control showing a stale permission mode when a phone, browser, or claude.ai app attaches to a terminal session or after the mode changes in the terminal</p> | |
| 26 | +<p>• Fixed Remote Control sessions showing as still working (stuck spinner and Stop button) after stopping a turn from a connected phone or browser, or after a local slash command like /clear</p> | |
| 27 | +<p>• Fixed SDK and cloud sessions ignoring a Stop or interrupt sent just after the first prompt, before the turn had started; the turn now stops instead of running to completion</p> | |
| 28 | +<p>• Fixed Remote Control uploading a session pulled with /teleport into the connected session, which appeared appended to the original on phone and web</p> | |
| 29 | +<p>• Fixed Remote Control's inbound event stream failing behind TLS-inspecting corporate proxies on native Windows</p> | |
| 30 | +<p>• Fixed Remote Control sessions showing the default effort level on claude.ai when the effort comes from settings</p> | |
| 31 | +<p>• Fixed gcpAuthRefresh opening a browser at startup when the Google credential check was slow, even though the credential was still valid</p> | |
| 32 | +<p>• Fixed claude.ai connectors staying absent for the whole session when the startup connector fetch timed out — the CLI now retries in the background</p> | |
| 33 | +<p>• Fixed sustained high CPU usage when a background agent could not be resumed and its wake-up was retried in a tight loop</p> | |
| 34 | +<p>• Fixed feature flags gated to a newer version occasionally applying to an older Claude Code version running on the same machine</p> | |
| 35 | +<p>• Fixed /usage and the VS Code usage panel dropping a model-specific weekly limit row when the usage endpoint is rate limited or when opened right after startup</p> | |
| 36 | +<p>• Fixed claude -p --resume &lt;file&gt; adopting a malformed session ID recorded in the transcript; it now resumes under a fresh session ID instead</p> | |
| 37 | +<p>• Fixed the terminal progress indicator (iTerm2, Ghostty, ConEmu) showing the session as finished while a background workflow or agent was still running</p> | |
| 38 | +<p>• Fixed a rare layout glitch where a box could render with the wrong height after its container switched between row and column direction</p> | |
| 39 | +<p>• Fixed Claude apps gateway client IP when a trusted proxy appends a port to X-Forwarded-For; with an access list set, an unreadable entry now gets 403</p> | |
| 40 | +<p>• Fixed Claude apps gateway telling Claude Desktop to export OpenTelemetry as JSON even when the terminal CLI uses protobuf, so protobuf-only collectors rejected Desktop's data</p> | |
| 41 | +<p>• Fixed Desktop and web showing a session as busy while it only watches an artifact for updates</p> | |
| 42 | +<p>• Fixed Claude in Chrome file_upload failing with "paths: expected array, received undefined" in local Cowork sessions run from the Claude Desktop app</p> | |
| 43 | +<p>• Fixed SendMessage to an offline Remote Control session on another machine reading as delivered; the result now says delivery is queued until that machine reconnects</p> | |
| 44 | +<p>• Fixed plugin install hints from CLIs run in background Bash commands: they are now detected, and the raw &lt;claude-code-hint&gt; tag no longer leaks into the conversation</p> | |
| 45 | +<p>• Fixed in-process agent-team teammates re-sending their first-turn tool and skill announcements on the second turn, which changed the request prefix and missed the prompt cache</p> | |
| 46 | +<p>• Improved the /model picker and the VS Code model pill to show a model's name instead of its raw Bedrock, Vertex AI, or LLM gateway ID when Claude Code recognizes it</p> | |
| 47 | +<p>• Improved startup on Google Vertex AI when GOOGLE_APPLICATION_CREDENTIALS is set: API client creation no longer re-runs Google Cloud project discovery or spawns extra gcloud processes</p> | |
| 48 | +<p>• Improved streaming performance: already-rendered blocks are no longer re-checked by layout on each update</p> | |
| 49 | +<p>• Improved the dangerous-rm safety prompt to also catch rm -rf on positional parameters and inside double-quoted sh -c scripts</p> | |
| 50 | +<p>• Improved handling when the API sends no response headers: the retry now waits up to API_TIMEOUT_MS (10 minutes by default) instead of another 3 minutes, and the messages say what to change</p> | |
| 51 | +<p>• Changed a Claude apps gateway 403 on the managed settings load (at startup or after /login) to say Claude Code may not be enabled for the organization, instead of advising a new sign-in</p> | |
| 52 | +<p>• Changed machines whose managed settings pin forceLoginMethod: "gateway" to ignore a leftover API key or claude.ai login and ask for /login; Bedrock, Vertex AI, and Foundry sessions are unaffected</p> | |
| 53 | +<p>• Changed auto mode to treat a link that packs content into a public diagram renderer's URL as an upload to that site: no longer auto-approved unless you asked for it</p> | |
| 54 | +<p>• Changed the prompt's word-editing keys to match Bash: Ctrl+W deletes back to whitespace, Alt+F and Alt+D stop at word end, punctuation separates words; keybindingFlavor no longer has any effect</p> | |
| 55 | +<p>• Changed /context token counting to use a local estimate when the token-counting API is unavailable, instead of extra small-model requests</p> | |
| 56 | +<p>• [VSCode] Added a "Build a custom style" walkthrough to the Output styles menu that writes a custom output style file and lists it right away</p> | |
| 57 | +<p>• [VSCode] Added an Add server form and a Remove action to the MCP servers dialog, so MCP servers can be added and removed without leaving the IDE</p> | |
| 58 | +<p>• [VSCode] Added a hollow ring in the session list for sessions open in a terminal, another VS Code window, or Claude Desktop, so they no longer look closed</p> | |
| 59 | +<p>• [VSCode] Added a fold button to permission and question prompts so the conversation behind them can be read without dismissing them; the space beside the prompt now scrolls the conversation</p> | |
| 60 | +<p>• [VSCode] Added "Archive session" to the session list's right-click menu and gave Unarchive its own icon</p> | |
| 61 | +<p>• [VSCode] Fixed a session teleported from Claude Code on the web treating a question that was cut off when the cloud session shut down as declined</p> | |
| 62 | +<p>• [VSCode] Fixed the session tab's Rename box opening empty for a tab restored with the window; it now starts with the current name</p> | |
| 63 | +<p>• [VSCode] Fixed collapsed sections in the session list panel briefly showing expanded each time the panel loaded</p> | |
| 64 | +<p>• [VSCode] Fixed Focus view showing a tool call as still running after Claude had moved on, such as while a question waited for your answer</p> | |
| 65 | +<p>• [VSCode] Fixed the session list's active-row highlight going stale when an unfocused Claude tab's session ID is corrected</p> | |
| 66 | +<p>• [VSCode] Fixed Cmd/Ctrl+Shift+T reopen and deep-link opens placing the Claude tab outside the Claude editor group when a Claude tab has focus</p> | |
| 67 | +<p>• [VSCode] Fixed the session tab's "Add to group" putting a session opened from Claude Code on the Web in two groups; it now moves the entry the session list shows</p> | |
| 68 | +<p>• [VSCode] Fixed the model picker showing models an organization has since disabled until the window was reloaded twice</p> | |
| 69 | +<p>• [VSCode] Fixed a tab opened from the session list jumping back to that session, and a tab opened from a Web session restarting its teleport or staying empty, after VS Code reloads the tab's view</p> | |
| 70 | +<p>• [VSCode] Fixed /btw side-question history from earlier sessions being overwritten when a question is asked right after a window reload or while a settings file has errors</p> | |
| 71 | +<p>• [VSCode] Fixed the pending question card not reappearing after the Claude panel reloads when signed in with a Claude.ai or Console account</p> | |
| 72 | +<p>• [VSCode] Fixed claude.ai-only features staying visible in a window's other Claude panels after one panel picked up a third-party provider from a settings file</p> | |
| 73 | +<p>• [VSCode] Fixed the sign-in screen appearing despite the Disable Login Prompt setting when Claude Code reports no login or a request fails for lack of one</p> | |
| 74 | +<p>• [VSCode] Fixed the next queued permission prompt keeping text typed on the previous prompt and accepting an immediate second click</p> | |
| 75 | +<p>• [VSCode] Fixed install-plugin links opening the Claude sidebar without the install dialog in a window where only the session list had been shown</p> | |
| 76 | +<p>• [VSCode] Fixed the sidebar usage meter staying empty on a new window until the Account &amp; usage dialog was opened, and a 0% usage limit being left out of the meter</p> | |
| 77 | +<p>• [VSCode] Fixed "Start new session in this group" losing the group after New conversation, and a missing unread dot for a session that finished before the sidebar's unread list loaded</p> | |
| 78 | +<p>• [VSCode] Fixed the editor tab badge showing unread during a running turn or missing on a tab opened from the session list, and "Add Session Tab to Group" doing nothing for an archived session</p> | |
| 79 | +<p>• [VSCode] Fixed "Enable Remote Control for all sessions" so flipping it also applies right away to sessions open in other VS Code windows</p> | |
| 80 | +<p>• [VSCode] Fixed the session list's Open filter for sessions continued from claude.ai whose tab was still recorded under the web session, and labeled the filter menu's sections for screen readers</p> | |
| 81 | +<p>• [VSCode] Changed the model picker to one flat list of every model, with rows kept for older model spellings listed last</p></content> | |
| 82 | + </entry> | |
| 83 | + <entry> | |
| 11 | 84 | <id>https://github.com/anthropics/claude-code/releases/tag/v2.1.260</id> |
| 12 | 85 | <title>Claude Code v2.1.260</title> |
| 13 | 86 | <link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.260"/> |
| @@ -764,61 +837,4 @@ | ||
| 764 | 837 | <p>• Remote Control: claude rc now applies the same enterprise-gateway availability check as interactive startup</p> |
| 765 | 838 | <p>• [VSCode] Fixed focus jumping between open Claude tabs on its own when a window with several Claude panels is restored or reloaded</p></content> |
| 766 | 839 | </entry> |
| 767 | - <entry> | |
| 768 | - <id>https://github.com/anthropics/claude-code/releases/tag/v2.1.234</id> | |
| 769 | - <title>Claude Code v2.1.234</title> | |
| 770 | - <link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.234"/> | |
| 771 | - <updated>2026-08-17T20:20:52Z</updated> | |
| 772 | - <content type="html"><p>• 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</p> | |
| 773 | -<p>• 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</p> | |
| 774 | -<p>• 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</p> | |
| 775 | -<p>• Claude Code now continues your session automatically when a claude.ai usage limit resets; turn it off in /config ("Continue automatically at usage limit")</p> | |
| 776 | -<p>• Claude is now told to use your account email only to identify you, and not to send it to unrelated services unless you ask</p> | |
| 777 | -<p>• 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</p> | |
| 778 | -<p>• Fixed auto mode in very long sessions repeatedly re-checking and denying sandboxed commands' network access after the conversation had been compacted</p> | |
| 779 | -<p>• Fixed session-scoped permission answers (including denies) being dropped when answering background subagent tool permission prompts</p> | |
| 780 | -<p>• 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</p> | |
| 781 | -<p>• Fixed markdown rendering becoming extremely slow for some messages containing unusual Unicode sequences</p> | |
| 782 | -<p>• Fixed SendMessage rejecting a recipient copied from ListAgents when the session name is at the 200-character cap or emoji-heavy</p> | |
| 783 | -<p>• Fixed repository detection mis-reading the host of git remotes with unusual userinfo, producing links and repo-specific behavior for the wrong host</p> | |
| 784 | -<p>• Fixed MCP diagnostics printing resolved secrets: scope-conflict warnings now show the configured ${VAR} form, and connection-failure details show only the server origin</p> | |
| 785 | -<p>• Fixed strictKnownMarketplaces allowlists accepting SCP-style git marketplace sources whose host differs from the one git would actually connect to</p> | |
| 786 | -<p>• Fixed modal text such as the /login OAuth URL losing characters when copied in fullscreen</p> | |
| 787 | -<p>• Fixed a --- horizontal rule in rendered markdown running into the line after it</p> | |
| 788 | -<p>• Fixed consecutive shell commands splitting into multiple "Ran 1 shell command" rows when todo/task updates were interleaved between them</p> | |
| 789 | -<p>• Fixed dialogs like /permissions opened while a ! shell command was running being dismissed when the command finished</p> | |
| 790 | -<p>• Fixed a queued ! shell command being sent to the model as plain text after pressing up-arrow to edit the queued input</p> | |
| 791 | -<p>• 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</p> | |
| 792 | -<p>• 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</p> | |
| 793 | -<p>• 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</p> | |
| 794 | -<p>• Fixed trust prompts omitting the repository-wide scope warning when the directory was first seen before the repository existed there</p> | |
| 795 | -<p>• Fixed a case where an IDE diff tab closing during a permission re-prompt could answer the new prompt with the previous input</p> | |
| 796 | -<p>• 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</p> | |
| 797 | -<p>• 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</p> | |
| 798 | -<p>• 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</p> | |
| 799 | -<p>• 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</p> | |
| 800 | -<p>• Fixed: provider API tokens that mask on permission previews now mask even when directly followed by shell delimiters</p> | |
| 801 | -<p>• 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</p> | |
| 802 | -<p>• 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</p> | |
| 803 | -<p>• 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</p> | |
| 804 | -<p>• 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</p> | |
| 805 | -<p>• SendMessage and ListAgents now say when your account's session list was too long to check completely, instead of treating unseen sessions as absent</p> | |
| 806 | -<p>• Expired Anthropic profile credential now points you at /login when a claude.ai login would take precedence</p> | |
| 807 | -<p>• Improved the transcript: your own prompts now render markdown (highlighted code blocks, inline code, lists) the same way replies do</p> | |
| 808 | -<p>• 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</p> | |
| 809 | -<p>• 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")</p> | |
| 810 | -<p>• Reduced the context cost of loading the built-in claude-api skill from ~200k+ tokens to ~25k by loading reference docs on demand</p> | |
| 811 | -<p>• /permissions can now be opened while Claude is working — rule changes apply to the rest of the current turn</p> | |
| 812 | -<p>• /add-dir &lt;path&gt; can now be used while Claude is working; /add-dir, /autocompact, /theme, /help, /config and /advisor dialogs open mid-turn in the fullscreen TUI</p> | |
| 813 | -<p>• /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</p> | |
| 814 | -<p>• /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)</p> | |
| 815 | -<p>• claude setup-token now rejects unexpected extra arguments instead of silently ignoring them</p> | |
| 816 | -<p>• Changed Esc in fullscreen mode to no longer clear a mouse text selection: it interrupts or dismisses as usual and the selection stays highlighted</p> | |
| 817 | -<p>• Removed the redundant "Allowed by auto mode classifier" line that auto mode showed under every Agent tool call</p> | |
| 818 | -<p>• Removed the "Default teammate model" setting from /config; agent-team teammates now use the leader's model unless the spawn names one</p> | |
| 819 | -<p>• Dimmed the elapsed-time counter on the running tool header so it no longer competes with the bold counts</p> | |
| 820 | -<p>• Background task notifications delivered between turns are now sent to the model inside &lt;system-reminder&gt; tags, matching mid-turn delivery</p> | |
| 821 | -<p>• Mantle: skip the admin-pin availability probe at startup when a main-loop model is already picked</p> | |
| 822 | -<p>• Windows: startup no longer stalls on repeated rename retries when ~/.claude.json is read-only</p></content> | |
| 823 | - </entry> | |
| 824 | 840 | </feed> |