Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.247 ·

Configurable spinner tips: file-loaded, object-shaped, with a custom label

spinnerTipsOverride now takes an object: load tips from a file, relabel them, and drop the built-ins.

Use it now Notable New Features
JSON All of v2.1.247
Use it nowTier: how much it should matter to you
4Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
SettingsArea: what it touches
New FeaturesKind: in v2.1.247,
What probably matters to youSection of the release
What

The spinnerTipsOverride setting is now a full object rather than a list of strings, letting you supply tips inline or from a JSON file, replace the "Tip" prefix with your own label, and drop the tips that ship with Claude Code. Individual tips can carry an identifier, a per-tip cooldown and a priority weight so a curated set rotates the way you want. Parsing is lenient throughout, so a malformed field or entry is dropped rather than breaking settings loading, and what a scope is allowed to set depends on whether that scope is trusted.

Details
  • The object takes tips (the list itself), tipsFile (a path to a JSON file of the same shape), label (replaces the default "Tip" prefix), and excludeDefault (drops the built-in tips).
  • A tip entry is either a plain string or an object of the form { id, text, cooldownSessions?, priority? }; array members that are neither are dropped without rejecting the rest of the list.
  • id is a stable identifier of letters, digits, ., _ and -, up to 64 characters; text is capped at 500 characters and must be a single line.
  • cooldownSessions (default 0) is how many sessions to wait before showing a tip again; priority (default 0) breaks ties among tips that have never been shown.
  • spinnerTipsOverride is now read from project scope too, but project settings are untrusted: only plain strings are accepted there, and object entries are dropped with the warning spinnerTipsOverride: object tip entries in ${s} are ignored; only plain strings are read from project settings, where the placeholder names the scope.
  • tipsFile and label are ignored entirely when they come from an untrusted scope; tipsFile is honoured only from user settings, the --settings flag, and managed settings installed on disk, and is read once per CLI process.
  • A tipsFile arriving through remote managed settings is refused with spinnerTipsOverride.tipsFile from remote managed settings is ignored; ship inline tips or install the file path via managed-settings.json.
  • File load failures are logged and counted under the tips_org_tips_file_load metric.
  • The built-in tips are suppressed only when a trusted scope supplied tips, so if only a project supplied them the shipped defaults still show.
  • The spinner reads the label from application state as spinnerTipLabel and applies it to the narration tip; when the label is still the default "Tip" it renders lower-cased.
Evidence

{ id: stable id (letters, digits, ".", "_", "-"; max 64), text: the tip (max 500 characters, one line), cooldownSessions?: sessions to wait before showing it again (default 0), priority?: tie-break weight among never-shown tips (default 0) }, spinnerTipsOverride: object tip entries in ${s} are ignored; only plain strings are read from project settings, spinnerTipsOverride.tipsFile from remote managed settings is ignored; ship inline tips or install the file path via managed-settings.json, spinnerTipLabel

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

Read from
Names in the bundlespinnerTipsOverride
How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's release notes agreeAdded {id, text, cooldownSessions, priority} entries, tipsFile, and label to spinnerTipsOverride, so organizations can rotate their own tips…

See this entry in the whole of v2.1.247 →

Feedback