claude code / codex / cursor / gemini / grok

what shipped.

the latest updates to your ai tools, straight from their official changelogs.

sourcesclaude codecodexdegradedcursorgemini clidegradedno successful check yetgrok api
all

2026-06-10

~Public URLs for Files — turn any file in your Files API storage into a permanent, unauthenticated URL that anyone can open, embed, or share.

+ read the post− less

Public URLs for Files — turn any file in your Files API storage into a permanent, unauthenticated URL that anyone can open, embed, or share. Revocable at any time, or set an auto-expiry between 1 hour and 30 days. See the Public URLs docs.

Reference stored files as Imagine inputs — substitute image_file_id, video_file_id, or reference_image_file_ids for URL inputs across every Imagine endpoint, with no need to re-upload bytes or make the file public. See Imagine → Files API Integration.

Persist Imagine outputs to Files — set storage_options on any Imagine request to save the generated asset to your Files storage; pair with storage_options.public_url to publish a shareable link in one round trip. See Imagine → Files API Integration.

continue reading on the release page →

2026-06-09

v2.1.170claude code
  • ~Introducing Claude Fable 5: a Mythos-class model that we’ve made safe for general use. Fable’s capabilities exceed those of any model we’ve ever made generally available. Update to version 2.1.170 for access. https://www.anthropic.com/news/claude-fable-5-mythos-5
  • ✓Fixed sessions not saving transcripts (and not appearing in --resume) when launched from the VS Code integrated terminal or any shell that inherited Claude Code environment variables.

2026-06-08

  • +Added --safe-mode flag (and `CLAUDE_CODE_SAFE_MODE`) to start Claude Code with all customizations (CLAUDE.md, plugins, skills, hooks, MCP servers) disabled for troubleshooting
  • +Added /cd command to move a session to a new working directory without breaking the prompt cache mid-session
  • +Added a disableBundledSkills setting and `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` environment variable to hide bundled skills, workflows, and built-in slash commands from the model
+ 27 more− less
full release →
  • +Added a tip suggesting claude agents when running multiple concurrent sessions
  • ~/workflows now opens immediately even while a turn is in progress
  • ~Restored a default 5-minute idle timeout on Vertex/Foundry so a stalled stream aborts instead of hanging indefinitely; set `API_FORCE_IDLE_TIMEOUT=0` to opt out
  • ~Remote-managed settings with an invalid entry now apply their remaining valid policies and surface the validation error, instead of silently dropping the whole payload
  • ~Background sessions now preserve `--ide`, `--chrome`, `--bare`, `--remote-control`, and other flags across retire→wake, and respawn state validation was hardened
  • ~Background sessions are now told that shared-checkout edits are blocked until they enter a worktree, avoiding a wasted rejected edit before `EnterWorktree`
  • ~The "CLAUDE.md is too long" warning threshold now scales with the model's context window
  • ~Auto-updater on Windows now stops retrying within a session once `claude.exe` is held by another process
  • ~Promo credit claims for Apple/Google-billed subscribers without a payment method now explain where to add one
  • ↑Improved TaskCreate reliability: malformed inputs are repaired automatically and validation errors for unloaded tools include the schema
  • ↑Improved the error message shown when your organization has disabled API key authentication, with guidance based on where the active API key comes from
  • ↑Reduced CPU usage while responses stream and during spinner animations
  • ↑Improved color contrast for skill tags in the slash-command menu
  • ✓Fixed Up/Down arrows jumping to command history past the wrapped rows of a long input line — they now move through each visual row first, and history recall enters at the near edge
  • ✓Fixed enterprise managed MCP policies (`allowedMcpServers`/`deniedMcpServers`) not being enforced on reconnect, IDE-typed configs, `--mcp-config` servers during the first session after install, or before remote settings loaded; also fixed slow cold starts for orgs without remote settings
  • ✓Fixed a ~30-50ms UI stall at the start of each turn for macOS users logged in with claude.ai credentials
  • ✓Fixed claude -p being slow or appearing to hang on Windows while waiting for the slash-command/skill scan (regression in 2.1.161)
  • ✓Fixed Remote Control getting stuck on "reconnecting" after resuming a session when an OAuth token refresh happened at the same time
  • ✓Fixed Git Credential Manager's "Connect to GitHub" popup appearing on Windows at startup when background git commands ran without cached credentials
  • ✓Fixed footer hints (e.g. "esc to interrupt") not showing for users with a custom statusline
  • ✓Fixed stale permission and dialog prompts reappearing every time you reattached to a remote session whose worker had died while waiting on them
6 more fixed on the release page →

2026-06-06

2026-06-05

  • +Added fallbackModel setting to configure up to three fallback models tried in order when the primary model is overloaded or unavailable; `--fallback-model` now also applies to interactive sessions
  • +Added glob pattern support in deny rule tool-name position (`"*"` denies all tools); allow rules reject non-MCP globs, and unknown tool names in deny rules warn at startup
  • ~Hardened cross-session messaging: messages relayed via `SendMessage` from other Claude sessions no longer carry user authority — receivers refuse relayed permission requests, and auto mode blocks them
+ 18 more− less
full release →
  • ~MAX_THINKING_TOKENS=0, `--thinking disabled`, and the per-model thinking toggle now disable thinking on models that think by default via the Claude API (3P providers unchanged)
  • ~Claude Code now retries a turn once on the fallback model when the API rejects an unexpected non-retryable error; auth, rate-limit, request-size, and transport errors still surface immediately
  • ~claude update now announces the target version before downloading instead of going silent
  • ~claude agents: typing a URL into the list now filters to the session whose first prompt contained it
  • ✓Fixed a recurring "image could not be processed" error and extra token usage when an unprocessable image was sent in a session
  • ✓Fixed remote sessions becoming permanently stuck when a brief backend disruption occurred during worker registration at startup
  • ✓Fixed flickering in JetBrains IDE terminals (IntelliJ, PyCharm, WebStorm, etc.) on 2026.1+ by enabling synchronized output
  • ✓Fixed Shift+non-ASCII characters (e.g. Shift+ä → Ä) being dropped in terminals using the Kitty keyboard protocol (WezTerm, Ghostty, kitty)
  • ✓Fixed PowerShell command validation occasionally hanging far past its time budget on Windows when a killed process's children held its output pipes
  • ✓Fixed orphaned claude --bg-pty-host processes spinning at 100% CPU after the daemon dies while connected on macOS
  • ✓Fixed voice mode requiring /login to clear a stale auth check after toggling `/voice`
  • ✓Fixed managed settings with an invalid entry silently disabling enforcement of their remaining valid policies
6 more fixed on the release page →

~With Design Mode in the Cursor browser, you can click, draw, or describe changes by voice to help agents update your UI.

+ read the post− less

With Design Mode in the Cursor browser, you can click, draw, or describe changes by voice to help agents update your UI.

Multi-select elements

Click on two or more elements together in the browser. Cursor sees the selected elements, their code, the surrounding layout, and the visual relationships on the page.

Ask the agent to make one match the other, remove repeated content, or adjust a group of components at once.

Voice input

Narrate changes through the Design Mode overlay. The mic stays available while an agent is mid-run, so you can queue the next change by voice without waiting for the previous one to finish.

continue reading on the release page →

2026-06-04

  • +Added requiredMinimumVersion and `requiredMaximumVersion` managed settings — Claude Code refuses to start if its version is outside the allowed range and directs the user to an approved version
  • +Added /plugin list command to list installed plugins, with `--enabled`/`--disabled` filters
  • +Added a "c to copy" shortcut to `/btw` that copies the raw markdown answer to the clipboard, preserving formatting when pasted elsewhere
+ 19 more− less
full release →
  • ~Hooks: Stop and SubagentStop hooks can now return `hookSpecificOutput.additionalContext` to give Claude feedback and keep the turn going without being labeled a hook error
  • ~Skills: added \$ escape syntax to include a literal `$` before a digit in command bodies
  • ~Stdio MCP servers now receive the same `CLAUDE_CODE_SESSION_ID` as hooks/Bash on `--resume`
  • ~Background agent sessions now update to a new Claude Code version in the background, so opening a session after an update no longer waits on a cold restart
  • ~Clearer descriptions for built-in commands and skills in the / menu
  • ~The subscription-switch suggestion now shows in the startup announcement slot instead of a toast
  • ~claude agents dispatching from the state-grouped view now starts the session in the directory the agent view was opened from
  • ✓Fixed claude -p hanging forever after its final result when a backgrounded command never exits — background shells are now stopped ~5s after the result once stdin closes
  • ✓Fixed claude -p failing with "ANTHROPIC_API_KEY required" on Bedrock/Vertex/Foundry when `CI=true` and no Anthropic API key is set
  • ✓Fixed bash commands failing under bazel and EDR-protected Go workflows: `$TMPDIR` was overridden to `/tmp/claude-{uid}` for all commands instead of only sandboxed ones (regression in 2.1.154)
  • ✓Fixed Bash commands failing on Windows with "EEXIST: file already exists" on the session-env directory when it has the read-only attribute or is inside OneDrive
  • ✓Fixed org-managed permission rules not applying for the entire session when the managed settings fetch completed during startup on a fresh config directory
  • ✓Fixed background sessions in claude agents losing their running background tasks when reattached after a Claude Code update
  • ✓Fixed terminal misalignment and a multi-second hang when exiting the agent view by pressing Esc
  • ✓Fixed clicking Stop on a background-task chip in the desktop app not clearing the chip when the underlying process was already gone
4 more fixed on the release page →
  • ~Run correlation: Every send() now carries a platform-generated requestId, exposed on Run and RunResult and persisted across the in-memory, SQLite, and JSONL stores. Tie a script or CI run to backend logs, analytics, and support threads without inferring it from agentId.
  • ~Reliable wait() on local runs: Local runs no longer resolve wait() before the terminal result is written. Hydration keeps refreshing until the run reaches a final state, so automation reads a complete result.
  • ~Safe checkpoints on dispose: Disposing a local agent no longer removes checkpoint data when a root reference is missing but checkpoint blobs still exist. The agent directory is only cleared when there's genuinely nothing left to keep.
+ 8 more− less
full release →
  • ~Cloud streaming over HTTP/1.1: Cloud agent sessions now stream correctly on HTTP/1.1 transports used by some proxies, older Node fetch stacks, and certain CI images. HTTP/2 behavior is unchanged.
  • ~Composer 2 routes to Composer 2.5: SDK clients still pinning retired composer-2 slugs are routed to Composer 2.5 automatically, keeping fast variants intact, so older scripts keep running.
  • ~Workspace-scoped list_runs: Client, AsyncClient, and Agent.list_runs take an optional cwd, and the bridge falls back to its launch workspace. This fixes spurious "agent not found" results when the bridge runs as a subprocess.
  • ~Clearer not-found errors: Looking up an agent that isn't in the resolved workspace returns a clear not-found error instead of an opaque internal error.
  • ~0.1.6 release and analytics: cursor-sdk 0.1.6 documents the Buildkite release path and labels SDK usage as sdk-python- for clearer analytics.
  • ↑Lighter import: Importing @cursor/sdk no longer eagerly loads the full local agent stack. Cloud-only and type-only consumers skip the local runtime cost until the first local call, with no API change. The first local call pays a one-time import, then stays cached.
  • ↑Self-contained TypeScript types: Published .d.ts files no longer reference unpublished workspace packages. This fixes TS2305 and TS2307 errors under skipLibCheck: false and silent any on stream types like TurnEndedUpdate.
  • ↑Bundled ripgrep: Local shell runs use the bundled platform rg binary without modifying your global PATH. On Windows, prepending ripgrep no longer clobbers the Path variable.
  • ↑Shared canvases can now be opened full-screen in the browser, making them easier to present to others.
  • ↑Added the ability for agents to embed buttons in canvases that will run a specific prompt when clicked.
  • ↑Improved the agent's ability to fix canvas type errors.
+ 1 more− less
full release →
  • ↑Improved component styling, and added more chart customization functionality.

2026-06-03

  • ~claude agents --json now includes `waitingFor` showing what a waiting session is blocked on (e.g. permission prompt)
  • ~--tools: explicitly listing Grep/Glob now provides the dedicated search tools on native builds with embedded search (previously these names were silently ignored)
  • ~/effort now confirms when your chosen level will persist as the default for new sessions
+ 25 more− less
full release →
  • ~Clicking a slash command in the autocomplete menu now fills it into your prompt instead of running it immediately; press Enter to run
  • ~Remote Control now shows as a persistent footer pill (with a link to the session) instead of a startup message
  • ~Renamed Windsurf to Devin Desktop in the `/ide` menu, `/terminal-setup`, and `/scroll-speed`, following the editor's rebrand
  • ~Quieter startup: notices group by severity, and session info and announcements share a single line per launch
  • ~Startup warnings rewritten to be shorter and clearer, each with a concrete fix
  • ~Launch-prompt warnings (deep link/pre-filled prompt) now stay pinned below the input until you act instead of scrolling away
  • ~Failed turns now show a compact warning line instead of a multi-line red error block
  • ~Background dispatch spawn failures now report the error class name when no errno is available
  • −Removed the "Claude in Chrome enabled" and "marketplace installed" startup messages; model auto-updates and the team-onboarding tip now show as quiet notices under the logo
  • ↑Improved background service startup and `claude update` verification to wait out endpoint-security scanning of new binaries instead of failing after 5 seconds
  • ✓Fixed a silent startup hang when the config directory is read-only or unwritable — Claude Code now starts with in-memory config and surfaces startup errors instead of showing a blank screen
  • ✓Fixed WebFetch permission rules not being applied to built-in preapproved domains; explicit `WebFetch(domain:...)` deny/ask/allow rules now take precedence over the preapproved-host auto-allow
  • ✓Fixed Windows permission rules never matching when spelled with backslashes (`~\`, `\\server\share`) or case-variant paths, and Read deny rules not hiding files from Glob/Grep results
  • ✓Fixed an interrupt (Esc) sent at the very start of a turn being silently dropped in stream-json/SDK sessions, leaving the turn running with no "Interrupted" feedback
  • ✓Fixed API 400 `no low surrogate in string` errors for classifier side-queries and MCP server descriptions containing emoji near a truncation boundary
  • ✓Fixed MCP per-server timeout config values below 1000 ms being floored to a 1-second watchdog that aborted every tool call; sub-1000 ms values are now ignored (falling back to `MCP_TOOL_TIMEOUT` or default), and `claude mcp get` annotates them accordingly
  • ✓Fixed the LSP tool's workspaceSymbol operation returning no results; it now accepts a `query` parameter and passes it to the language server
  • ✓Fixed claude agents cutting live status text (tool args, replies, prompts, exec output) at 60–120 columns on wide terminals; the status detail now uses the full terminal width
7 more fixed on the release page →
  • ↑Multi-team support so users can be on multiple teams at once
  • ↑Organization-level IDP management
  • ↑Organization-level usage analytics, with drill downs to each team
+ 2 more− less
full release →
  • ↑Admins can move users between teams through the dashboard, API, or CSV
  • ↑New users joining a team inherit settings and permissions automatically

2026-06-02

  • +VSCodeAdded a tip suggesting disabling terminal GPU acceleration (or running `/terminal-setup`) to fix garbled glyphs
  • ~OTEL_RESOURCE_ATTRIBUTES values are now included as labels on metric datapoints, so you can slice usage metrics by custom dimensions like team or repo
  • ~claude agents rows now show `done/total` before the detail when work is fanned out; peek shows the longest-running item
+ 19 more− less
full release →
  • ~/mcp now collapses claude.ai connectors you've never signed in to behind a "Show unused connectors" row
  • ~Parallel tool calls: a failed Bash command no longer cancels other calls in the same batch — each tool returns its own result independently
  • ~Fullscreen mode: clipboard now uses `wl-copy`/`xclip`/`xsel` on Linux when available, copies to both the clipboard and PRIMARY selection for middle-click paste, and the "hold {key} for native selection" hint now shows the correct key per terminal
  • ↑Improved terminal rendering performance by stabilizing the layout engine's JIT compilation profile
  • ↑Improved rendering performance for large file writes
  • ✓Fixed the /effort dialog, workflow animations, and prompt keyword shimmer not honoring the "Reduce motion" setting
  • ✓Fixed forceLoginOrgUUID/`forceLoginMethod` managed-settings policies blocking third-party provider sessions (Bedrock, Vertex, Foundry, Mantle) alongside the org pin (regression in 2.1.146)
  • ✓Fixed background subagent output corrupting `claude -p` stdout when using `--output-format text` or `json`
  • ✓Fixed /usage-credits starting a re-login for Team and Enterprise admins instead of pointing to the organization's usage settings page
  • ✓Fixed /autofix-pr reporting "cannot run on the default branch" when the session is inside a git worktree or another repository
  • ✓Fixed --resume picker not showing sessions from the current directory when it isn't a git worktree (e.g., jj workspaces)
  • ✓Fixed Windows hooks that invoke bash explicitly (e.g., `/usr/bin/bash script.sh`) failing with "command not found" or "cannot execute binary file"
  • ✓Fixed OpenTelemetry log events (`user_prompt`, `api_request`, `tool_result`, `tool_decision`) being silently dropped when emitted before telemetry initialization completed
6 more fixed on the release page →

2026-06-01

  • +Added a prompt before writing to shell startup files (`.zshenv`, `.zlogin`, `.bash_login`) and `~/.config/git/`, which could otherwise lead to unintended command execution
  • ~acceptEdits mode now prompts before writing build-tool config files that grant code execution (`.npmrc`, `.yarnrc*`, `bunfig.toml`, `.bazelrc`, `.pre-commit-config.yaml`, `.devcontainer/`, etc.)
  • ~Edit no longer requires a separate Read after viewing a file with `grep`: single-file `grep`/`egrep`/`fgrep` commands now satisfy the read-before-edit check
+ 24 more− less
full release →
  • ~Renamed the dynamic-workflow trigger keyword from `workflow` to `ultracode`. The word "workflow" no longer triggers a run; asking for one in your own words still works. The trigger keyword is highlighted in violet in the prompt input
  • −Removed CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE; the environment variable is now a no-op
  • −Removed the JetBrains plugin install suggestion from startup
  • ↑Improved performance of opening recently-inactive background agent sessions in `claude agents`
  • ↑Improved auto mode classifier latency by reducing reasoning on routine actions, lowering the chance of "could not evaluate this action" blocks
  • ↑Improved background-session teardown (`claude rm`/`stop`, idle reap) to send SIGTERM to running shell subprocesses before SIGKILL, so cleanup handlers run
  • ✓Fixed copy-on-select not writing to the Windows clipboard on WSL — now uses PowerShell interop instead of OSC 52, which terminals like MobaXterm don't support
  • ✓Fixed restoring a completed session from `claude agents` dropping chat history and re-running the original prompt
  • ✓Fixed background sessions re-attached after overnight retire losing their conversation and re-running the original prompt
  • ✓Fixed claude --bg occasionally failing with "socket missing" when the background daemon was cold-starting on a loaded machine
  • ✓Fixed an issue on Windows where the directory a background session was started in could not be deleted after `claude rm` until the background daemon exited
  • ✓Fixed background agents that resumed work being shown under Completed in the agents list
  • ✓Fixed claude agents freezing for several seconds when returning to the session list due to the auto-updater re-checking on every exit
  • ✓Fixed Esc, arrow keys, and typing becoming unresponsive on Windows when attached to a background session or in the agent view while the host is under heavy CPU load
10 more fixed on the release page →

2026-05-31

2026-05-30

2026-05-29

  • +Added claude plugin init <name> to scaffold a new plugin in `.claude/skills`
  • +Added autocomplete for /plugin arguments: subcommands, installed plugin names, and plugins from known marketplaces
  • +Added a "Workflow keyword trigger" setting in /config to stop the word "workflow" in a prompt from triggering a dynamic workflow
+ 30 more− less
full release →
  • ~Plugins in .claude/skills directories are now automatically loaded, no marketplace required
  • ~claude agents: the `agent` field in `settings.json` is now honored for dispatched sessions, with `--agent <name>` to override it
  • ~EnterWorktree can now switch between Claude-managed worktrees mid-session
  • ~tool_decision telemetry events now include `tool_parameters` (bash commands, MCP/skill names) when `OTEL_LOG_TOOL_DETAILS=1`
  • ~Worktrees managed by Claude are now left unlocked when the agent finishes, so `git worktree remove`/`prune` can clean them up
  • ~/terminal-setup now disables GPU acceleration in VS Code/Cursor/Windsurf integrated terminals to prevent garbled-text rendering
  • ~The Feature of the Week credit-claim status now appears as a notification in the status area instead of a line above the prompt
  • ~claude agents: slash-command autocomplete in the dispatch input now matches substrings
1 more changed on the release page →
  • −Removed the "bash commands will be sandboxed" startup banner — sandbox status still shows in `/status` and when a command is blocked
  • −Removed the "/ide for …" startup hint toast
  • ↑Improved performance of long and resumed conversations by eliminating redundant message-rendering recomputations
  • ✓Fixed unprocessable images (zero-byte, corrupt) attached via paste, MCP, or dialog crashing the request instead of becoming a text placeholder
  • ✓Fixed sandbox network permission prompts appearing in auto and bypass-permissions mode when using the desktop app, IDE extensions, or SDK
  • ✓Fixed claude agents completed sessions not retiring when an idle subagent was still parked or had leaked a backgrounded shell
  • ✓Fixed claude agents pressing Esc not cancelling a slow "opening…", leaving the list unresponsive
  • ✓Fixed background agent worktrees under `.claude/worktrees/` being orphaned after the 30-day job retention sweep
  • ✓Fixed background sessions re-attached after a sleep/wake not telling the model the correct date
  • ✓Fixed copy-on-select in claude agents not reaching the system clipboard inside tmux with `set-clipboard on` (regression in 2.1.153)
  • ✓Fixed --resume not reporting background subagents that were running when the previous Claude Code process exited
10 more fixed on the release page →

+The streaming Speech to Text API now supports Smart Turn end-of-turn detection.

+ read the post− less

The streaming Speech to Text API now supports Smart Turn end-of-turn detection. When enabled via the smart_turn query parameter, an ML model predicts whether the speaker has finished their thought at silence boundaries — reducing false endpointing during dictation, number sequences, and mid-sentence pauses. Use smart_turn_timeout to set a maximum silence fallback. For more details, see the Smart Turn docs.

continue reading on the release page →

+The Context Compaction API is now available.

+ read the post− less

The Context Compaction API is now available. You can shrink long conversations into a shorter context and reuse it in follow-up requests for lower cost, faster time-to-first-token, and sharper responses on long agent loops. For more details, see the Context Compaction docs.

continue reading on the release page →