Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All releases Home olderv2.0.29 v2.0.31newer

Claude Code v2.0.30

8 entries read diff v2.0.29 → v2.0.30 Markdown

Version 2.0.30 introduces Language Server Protocol (LSP) support, enabling Claude to access code intelligence features like go-to-definition, find-references, and hover documentation. It also adds enhanced sandbox security controls and refactors the internal tool execution architecture for better concurrent processing.

Find
Pick an entry · j / k steps through
8 entries

Changesopen

LSP (Language Server Protocol) Tool#

What: A new tool that integrates Language Server Protocol servers to provide code intelligence features directly to Claude.

How to use:

# Claude can now use LSP operations when analyzing code
# The tool works automatically when LSP servers are configured

Supported operations:

  • goToDefinition: Find where a symbol is defined
  • findReferences: Find all references to a symbol
  • hover: Get hover information (documentation, type info) for a symbol
  • documentSymbol: Get all symbols (functions, classes, variables) in a document
  • workspaceSymbol: Search for symbols across the entire workspace

Configuration: LSP servers can be configured in two ways:

  1. Plugin-based configuration: Plugins can define LSP servers via .lsp.json files or in their manifest's lspServers property
  2. Project configuration: LSP server settings include command, args, supported languages, transport type (stdio/socket), initialization options, and workspace settings

Requirements:

  • All operations require filePath, line (0-indexed), and character (0-indexed) parameters
  • LSP servers must be configured for the file type; operations will return an error if no server is available

Details:

  • Evidence: LSP tool definition at at1() at line 455338, LSP server manager initialization at line 454707
  • Plugin LSP configuration loading at Ig2() at line 454527
  • Comprehensive error handling for LSP failures including: lsp-config-invalid, lsp-server-start-failed, lsp-server-crashed, lsp-request-timeout, lsp-request-failed
  • LSP URI decoding support at line 205830 (uO0() function)

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Magic Docs Auto-Update System#

What: An automated documentation maintenance system that updates project documentation files based on conversations with Claude.

How it works:

  • When you work with Claude and learn new information about your codebase, the system can automatically update designated "Magic Doc" files
  • Uses a specialized magic-docs agent type that reads existing documentation and incorporates new learnings
  • Focuses on high-level architecture, patterns, and entry points rather than exhaustive code details

Philosophy:

  • Keeps documentation CURRENT (not a changelog or history)
  • Updates information in-place to reflect the current state
  • Removes or replaces outdated information
  • Emphasizes terseness: "High signal only. No filler words."
Evidence

magic-docs agent type at line 476091, documentation update prompt generator Aa5() at line 475984

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Enhanced Sandbox Security Policy#

What: A new configuration option allowUnsandboxedCommands that provides policy-level control over the dangerouslyDisableSandbox parameter.

How to use:

// In your settings
{
  "sandbox": {
    "allowUnsandboxedCommands": false  // Enforce sandbox-only mode
  }
}

Details:

  • Default: true (maintains backward compatibility)
  • When set to false: All commands run in sandbox mode regardless of the dangerouslyDisableSandbox parameter
  • Enforcement: The security check at Q9A() at line 249229 validates both the parameter AND the policy setting
  • User communication: Claude receives different system prompt instructions based on this setting (lines 208919-208942)
  • Evidence: Configuration schema at line 473000, getter function XP8() at line 208521

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Refactored Tool Execution Architecture#

What changed: Internal tool execution system migrated from function-based approach to a class-based queue system with better concurrent execution support.

Technical details:

  • New Qr1 class manages tool execution queue with status tracking ("queued" → "executing" → "completed" → "yielded")
  • Intelligent concurrency: Tools marked as concurrency-safe can execute in parallel, while non-concurrent-safe tools block subsequent processing
  • Feature-flag controlled: Uses tengu_streaming_tool_execution flag to gradually roll out new architecture
  • Backward compatible: Falls back to renamed legacy functions (Ev5() at line 429788) when feature flag is disabled

User impact:

  • Better responsiveness when Claude uses multiple tools simultaneously
  • More efficient parallel processing of independent operations
  • Improved result streaming as tools complete
Evidence

Qr1 class definition at line 429311, feature flag check at line 429499

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Command Redirection Safety#

What: Enhanced validation and handling of shell command redirections for safer execution.

Details:

  • Command parser SP() at line 208476 separates redirections from commands
  • Safety validation detects dangerous redirection patterns
  • Already existed in v2.0.29 but continues to provide protection in v2.0.30
Evidence

Function SP() at line 208476 (v2.0.30), existed as whA() at line 204320 (v2.0.29)

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

TodoWrite Tool Documentation#

The TodoWrite tool documentation remains unchanged between v2.0.29 and v2.0.30. All guidance on when to use the tool, task states, and management practices are identical.

Evidence

Documentation at lines 204989-205176 (v2.0.30), previously at lines 204886-205072 (v2.0.29)

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

ExitPlanMode Tool#

The ExitPlanMode tool continues to exist with the same functionality as in v2.0.29. This tool prompts users to exit plan mode after planning is complete.

Evidence

Tool description at line 432519 (v2.0.29), continues in v2.0.30 with updated variable names

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Internal Refactoring#

  • Removed several internal functions related to command history and UI components (non-user-facing)
  • Added new internal error handling and validation classes for LSP protocol support
  • Tool execution helper functions renamed but functionality preserved for backward compatibility

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.0.30. Text is unmodified from the upstream changelog. Everything else on this page came out of the bundle instead, which is why the two lists don't match.

  • Added helpful hint to run security unlock-keychain when encountering API key errors on macOS with locked keychain
  • Added allowUnsandboxedCommands sandbox setting to disable the dangerouslyDisableSandbox escape hatch at policy level
  • Added disallowedTools field to custom agent definitions for explicit tool blocking
  • Added prompt-based stop hooks
  • VSCode: Added respectGitIgnore configuration to include .gitignored files in file searches (defaults to true)
  • Enabled SSE MCP servers on native build
  • Deprecated output styles. Review options in /output-style and use --system-prompt-file, --system-prompt, --append-system-prompt, CLAUDE.md, or plugins instead
  • Removed support for custom ripgrep configuration, resolving an issue where Search returns no results and config discovery fails
  • Fixed Explore agent creating unwanted .md investigation files during codebase exploration
  • Fixed a bug where /context would sometimes fail with "max_tokens must be greater than thinking.budget_tokens" error message
  • Fixed --mcp-config flag to correctly override file-based MCP configurations
  • Fixed bug that saved session permissions to local settings
  • Fixed MCP tools not being available to sub-agents
  • Fixed hooks and plugins not executing when using --dangerously-skip-permissions flag
  • Fixed delay when navigating through typeahead suggestions with arrow keys
  • VSCode: Restored selection indicator in input footer showing current file or code selection status
System prompt

The system prompt was not captured for this release, so this page cannot say whether it moved.