Claude Code v2.1.98 adds Vertex AI wizard, security fixes, and subprocess sandboxing

Claude Code v2.1.98 is a maintenance release focused on security hardening, new platform integrations, and developer workflow improvements. The update addresses several critical security issues while adding practical features for teams using Google Cloud and version control systems.
New Features and Integrations
The release adds an interactive Google Vertex AI setup wizard accessible from the login screen when selecting "3rd-party platform." This guides users through GCP authentication, project and region configuration, credential verification, and model pinning.
For Perforce users, the CLAUDE_CODE_PERFORCE_MODE environment variable now causes Edit/Write/NotebookEdit operations to fail on read-only files with a p4 edit hint instead of silently overwriting them.
Other additions include:
- Monitor tool for streaming events from background scripts
- Subprocess sandboxing with PID namespace isolation on Linux when
CLAUDE_CODE_SUBPROCESS_ENV_SCRUBis set CLAUDE_CODE_SCRIPT_CAPSenvironment variable to limit per-session script invocations--exclude-dynamic-system-prompt-sectionsflag to print mode for improved cross-user prompt cachingworkspace.git_worktreeto the status line JSON input, set whenever the current directory is inside a linked git worktree- W3C
TRACEPARENTenv var to Bash tool subprocesses when OTEL tracing is enabled - LSP: Claude Code now identifies itself to language servers via
clientInfoin the initialize request
Security Fixes
The release addresses multiple security vulnerabilities:
- Fixed a Bash tool permission bypass where a backslash-escaped flag could be auto-allowed as read-only and lead to arbitrary code execution
- Fixed compound Bash commands bypassing forced permission prompts for safety checks and explicit ask rules in auto and bypass-permissions modes
- Fixed read-only commands with env-var prefixes not prompting unless the var is known-safe (
LANG,TZ,NO_COLOR, etc.) - Fixed redirects to
/dev/tcp/...or/dev/udp/...not prompting instead of auto-allowing - Fixed
--dangerously-skip-permissionsbeing silently downgraded to accept-edits mode after approving a write to a protected path via Bash - Fixed managed-settings allow rules remaining active after an admin removed them, until process restart
Bug Fixes and Improvements
The release includes numerous stability and usability fixes:
- Fixed stalled streaming responses timing out instead of falling back to non-streaming mode
- Fixed 429 retries burning all attempts in ~13s when the server returns a small
Retry-After— exponential backoff now applies as a minimum - Fixed MCP OAuth
oauth.authServerMetadataUrlconfig override not being honored on token refresh after restart, affecting ADFS and similar IdPs - Fixed capital letters being dropped to lowercase on xterm and VS Code integrated terminal when the kitty keyboard protocol is active
- Fixed macOS text replacements deleting the trigger word instead of inserting the substitution
- Fixed
permissions.additionalDirectorieschanges not applying mid-session — removed directories lose access immediately and added ones work without restart - Fixed removing a directory from
additionalDirectoriesrevoking access to the same directory passed via--add-dir - Fixed
Bash(cmd:*)andBash(git commit *)wildcard permission rules failing to match commands with extra spaces or tabs - Fixed
Bash(...)deny rules being downgraded to a prompt for piped commands that mixcdwith other segments - Fixed false Bash permission prompts for
cut -d /,paste -d /,column -s /,awk '{print $1}' file, and filenames containing% - Fixed permission rules with names matching JavaScript prototype properties (e.g.
toString) causingsettings.jsonto be silently ignored - Fixed agent team members not inheriting the leader's permission mode when using
--dangerously-skip-permissions
UI and Workflow Fixes
- Fixed a crash in fullscreen mode when hovering over MCP tool results
- Fixed copying wrapped URLs in fullscreen mode inserting spaces at line breaks
- Fixed file-edit diffs disappearing from the UI on
--resumewhen the edited file was larger than 10KB - Fixed several
/resumepicker issues:--resume <name>opening uneditable, filter reload wiping search state, empty list swallowing arrow keys, cross-project staleness, and transient task-status text replacing conversation summaries - Fixed
/exportnot honoring absolute paths and~, and silently rewriting user-supplied extensions to.txt - Fixed
/effort maxbeing denied for unknown or future model IDs - Fixed slash command picker breaking when a plugin's frontmatter
nameis a YAML boolean keyword - Fixed rate-limit upsell text being hidden after message remounts
- Fixed MCP tools with
_meta["anthropic/maxResultSizeChars"]not bypassing the token-based pe
This release is particularly important for teams concerned with security hardening, as it addresses multiple permission bypass vulnerabilities that could lead to arbitrary code execution. The subprocess sandboxing features provide additional isolation for untrusted code execution environments.
📖 Read the full source: GitHub Claude-Code
👀 See Also

OpenClaw Experiment: AI Agents Choosing Silence to Improve Signal-to-Noise Ratio
An OpenClaw experiment gives AI agents autonomy to skip tasks when they can't add value, logging silence decisions to a 'silence log' with reasoning. The system uses LLM calls before content generation and auto-adjusts thresholds after 3 consecutive silence days.

Claude Code v2.1.117 Release: Subagent Forking, Plugin Improvements, and Performance Fixes
Claude Code v2.1.117 enables forked subagents on external builds via CLAUDE_CODE_FORK_SUBAGENT=1, improves plugin dependency handling, and fixes Opus 4.7 context window calculations. The release includes faster startup with concurrent MCP connections and replaces Glob/Grep tools with embedded bfs/ugrep on macOS/Linux.

Coinbase x402 vs Google A2A: Two Opposite Payment Orderings for Agent-to-Agent Payments
Building agent-to-agent payments reveals a fundamental split: Coinbase's x402 middleware settles after work (verify→run→settle), while Google's A2A extension settles before (verify→settle→run) for slow agentic calls.

Anthropic Reverses Policy on Third-Party Agent SDK and claude-p, Cuts Effective Inference Value by 25-40x for Max Subscribers
Anthropic reversed its ban on third-party agents using subscription credentials but moved claude-p and the Agent SDK to a separate, non-rollover credit pool billed at API rates, reducing effective inference value by 25-40x for Max subscribers.