Claude Code v2.1.90 — 3 New Environment Variables: Anthropic AWS Provider, Marketplace Resilience, and /powerup Lessons#

Published on April 1, 2026

Part of the Claude Code Version Tracker series. | Official Env Vars | Official Changelog

Claude Code v2.1.90 adds 3 new environment variables and a new /powerup command since v2.1.89. The headline additions are a new "Anthropic AWS" API provider (distinct from Bedrock), offline-resilient marketplace plugin caching, and an interactive tutorial system. The release also includes a significant batch of stability fixes: a prompt-cache regression fix dating back to v2.1.69, PowerShell security hardening, and performance improvements that eliminate quadratic behavior in SSE transport and transcript writes[1].

What Changed#

v2.1.89v2.1.90
Environment variables210213 (+3 net)
Slash commands2324 (+1)

New Slash Commands#

CommandWhat It Does
/powerupLaunches interactive lessons that teach Claude Code features through animated demos[1]. This is a first-party onboarding mechanism built directly into the CLI — rather than pointing users to external docs, it walks them through capabilities with animated terminal demos inside the tool itself.

New Environment Variables#

VariableWhat It Does
CLAUDE_CODE_USE_ANTHROPIC_AWSSelects "Claude Platform on AWS" as the API provider. Source code confirms this is a distinct provider alongside Bedrock, Vertex, and Foundry — the provider selection function returns "anthropicAws" when set, instantiating a dedicated AnthropicAws SDK client. Like other non-first-party providers, it bypasses OAuth login (API key auth instead), skips Anthropic error telemetry, and disables first-party-only features. This is Anthropic's own AWS-hosted infrastructure — not a Bedrock wrapper — giving enterprise users AWS network locality without Bedrock's model versioning constraints.
CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTHSkips credential resolution for the Anthropic AWS provider. Source code shows two effects: (1) passes skipAuth: true to the AnthropicAws client constructor, and (2) skips the AWS credential fetch function entirely (no accessKeyId/secretAccessKey/sessionToken resolution) unless ANTHROPIC_AWS_API_KEY is also set. Targeted at server-side deployments where IAM instance roles, ECS task roles, or Lambda execution environments provide ambient credentials — the SDK handles auth internally without Claude Code needing to resolve it first.
CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILUREPreserves the local marketplace plugin cache when git pull fails. Source code shows that without this flag, a failed pull triggers a full delete-and-reclone of the marketplace directory. With it set (checked via truthy-string parser), the failure logs a warning and returns early, keeping the existing (possibly stale) clone intact. The changelog[1] explicitly documents this for offline environments. A resilience pattern that prevents plugin disappearance on flaky networks.

What These Tell Us#

A fifth API provider enters the roster. The provider selection hierarchy is now: Bedrock → Foundry → Anthropic AWS → Vertex → First Party. "Anthropic AWS" is the most interesting addition because it's not a cloud-provider-managed model endpoint like Bedrock or Vertex — it's Anthropic operating its own infrastructure on AWS. For enterprises this means AWS data residency and network locality without being subject to Bedrock's model availability timeline or Vertex's Google Cloud requirement. The paired SKIP_ANTHROPIC_AWS_AUTH flag confirms the target audience: server workloads with IAM-managed credentials, not developer laptops.

Marketplace plugins get offline resilience. The marketplace is Claude Code's plugin distribution mechanism, backed by a git repository. Until now, a git pull failure during plugin refresh would nuke the local clone and attempt a fresh checkout — clean but destructive if the re-clone also fails (no network). The new flag converts a pull failure from "delete and retry" to "warn and continue with stale cache." This is the kind of change that matters disproportionately in air-gapped or bandwidth-constrained environments where plugin access shouldn't require live connectivity on every launch.

Stability sweep addresses deep regressions. The changelog[1] reveals a prompt-cache miss regression traced back to v2.1.69 — users with deferred tools, MCP servers, or custom agents were paying full prompt-cache costs on every --resume first request for 21 versions. The fix, alongside the quadratic-to-linear SSE transport improvement and elimination of per-turn JSON.stringify on MCP tool schemas, suggests Anthropic ran profiling across real-world long sessions. Other notable fixes: auto mode now respects explicit user boundaries ("don't push", "wait for X"), PreToolUse hooks emitting JSON with exit code 2 now correctly block tool calls, and Edit/Write no longer fail when format-on-save hooks rewrite files between consecutive edits.

Notable Changelog Items#

CategoryChange
SecurityHardened PowerShell tool: fixed trailing & background job bypass, -ErrorAction Break debugger hang, archive-extraction TOCTOU, and parse-fail fallback deny-rule degradation
SecurityRemoved Get-DnsClientCache and ipconfig /displaydns from auto-allow (DNS cache privacy)
SecurityCLAUDE_CODE_DISABLE_COMMAND_INJECTION_CHECK removed in v2.1.89 — injection checks now mandatory
PerformanceSSE transport handles large streamed frames in linear time (was quadratic)
PerformanceLong conversations no longer slow down quadratically on transcript writes
PerformanceEliminated per-turn JSON.stringify of MCP tool schemas on cache-key lookup
Bug fixFixed --resume prompt-cache miss on first request for deferred tools/MCP/custom agents (regression since v2.1.69)
Bug fixFixed infinite loop where rate-limit options dialog repeatedly auto-opened, crashing session
Bug fixAuto mode now respects explicit user constraints ("don't push", "wait for X before Y")
Bug fixFixed Edit/Write "File content has changed" failure when PostToolUse format-on-save hooks rewrite file
UX.husky added to protected directories in acceptEdits mode
UX--resume picker no longer shows sessions from claude -p or SDK invocations
UX/resume all-projects view loads sessions in parallel for faster load times

Sources#

  1. Claude Code Official Changelog — v2.1.90 release notes

This analysis is conducted for independent security research and interoperability purposes under fair use principles. All trademarks belong to their respective owners. The information presented here documents publicly observable behavior of installed software and is not intended to circumvent any technological protection measures, infringe on intellectual property rights, or encourage unauthorized use. Use these findings at your own discretion.


Related: Context Window Management Guide | Claude Code Productivity Tips | The Agentic Engineering Playbook