Claude Code v2.1.247: /claude-api cost tooling and org spinner tips loaded from a file#

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

Coming from v2.1.245, a v2.1.247 user gets a /claude-api cost-optimize skill that profiles an existing project's Claude API spend and walks the cost levers (caching, token hygiene, batching, effort, model choice) one measured change at a time.[1] Organizations can now rotate their own spinner tips from a JSON file instead of only inline settings, and sessions on Sonnet 5's 1M context window auto-compact later than before. The changelog also announces the SendFeedback tool, though the binary carried that tool as far back as the v2.1.245 baseline.

The /claude-api skill grew Admin API and cost coverage#

The /claude-api skill now dispatches five subcommands: cost-optimize, migrate, managed-agents-onboard, prompt-audit, and upgrade. The cost-optimize string is absent from v2.1.245 and present in v2.1.247, so it landed in this window. Alongside it the bundle picked up Admin API documentation pointers: usage and cost, rate limits, workspaces, organization members and invites, and workload identity federation.[1] The skill text spells out the boundary an operator hits first: "API keys do not work on any of these endpoints, and admin credentials do not work on the Messages API," and admin keys are minted in the Claude Console by an organization admin.

Spinner tips can come from a file#

spinnerTipsOverride already existed, but v2.1.247 adds a tipsFile field (zero occurrences in v2.1.245, twenty-five in v2.1.247). It reads a JSON array of tips from an absolute or ~/ path; a network (UNC) path is rejected, and a tipsFile supplied through remote managed settings is ignored with the note to "ship inline tips or install the file path via managed-settings.json." Each tip entry needs an id of 1 to 64 characters (letters, digits, ., _, -) and a text string, and excludeDefault drops the built-in rotation so only the organization's tips show.

The feedback drafting flow was already in the binary#

The v2.1.247 changelog lists the SendFeedback tool as new, but it appears in the v2.1.245 build with the same wiring. The tool "writes a local draft the user can review, edit, and explicitly submit (or discard) via /feedback"; nothing leaves the machine until the user acts. Drafts land in ~/.claude/feedback/drafts/, the tool is capped per session, and two guards withhold the transcript from a submission when it contains_3p_transcript_markers or the identity is identity_not_corroborated. The behavior is governed by one setting:

SettingWhat It Does
feedbackDraftsControls model-drafted feedback. "notify" (default) shows a one-line notice when a draft is queued, "quiet" shows only the footer counter, and "off" disables the tool entirely so drafts are never queued. Present since the v2.1.245 baseline, surfaced in the v2.1.247 changelog.

Two smaller behavior changes round out the release. Sessions running on Sonnet 5's full 1M window now auto-compact at about 967K tokens instead of about 934K, buying more room before a summary.[1] And the permission picker's auto mode ("no routine prompts; a reviewer model screens actions") now gets a pointer from Bash permission prompts, with a one-keystroke "Yes, and switch to auto mode" answer.

What these tell us#

The confirmed new surface leans toward operators. cost-optimize and the Admin API pointers give an organization a way to measure and manage API spend from inside the CLI, and file-based spinner tips let an admin ship a tip rotation through managed settings without editing each user's config. Both are configuration reach rather than model reach.

The binary also carries a gated artifact-preview path: CLAUDE_CODE_ARTIFACT_PREVIEW overrides tengu_cobalt_plinth_aspen and resolves a local Chrome, Chromium, Edge, or Brave to render an artifact, but the module is not bundled in this build and the code throws "artifact preview is not compiled into this build" when reached. It sits next to the artifact comment and room subsystems tracked in earlier releases, still off by default, with no changelog line. The pattern from prior versions holds: capability wired and gated ahead of any announcement, and at least one changelog entry (the feedback tool) describing something the binary already shipped.

This analysis is conducted for educational and research purposes under fair use principles. All trademarks and software referenced belong to their respective owners. This content is not intended to infringe on any intellectual property rights, circumvent any protections, or encourage unauthorized access to proprietary systems.

Sources#

  1. Claude Code Official Changelog, v2.1.247 release notes