# Claude Code v2.1.177

> Claude Code v2.1.177, released 13 Jun 2026 (2026-06-13). 3 entries read out of the shipped bundle. Unofficial, and not affiliated with Anthropic.

Web version: https://changelogs.core-directive.com/v/2.1.177

This is a small patch release focused on internal infrastructure. The main addition is a new model error override system that allows server-side customization of error messages and model picker hints. The release also includes a fix that restricts a first-party-only update pathway to first-party installations.

## Improvements

### Model Error Override System

Infrastructure was added that allows server-side configuration to customize the error messages and model-picker hint text that users see when a model encounters an error.

**Details**

- A new config key `tengu-model-error-overrides` is read from server-delivered configuration. It maps model identifiers to objects with optional `block` (error message text) and `pickerHint` (hint shown in the model picker) fields.
- When a matching override is present and its `block` string is non-empty, the override text replaces the default error display.
- `pickerHint` can provide a separate, shorter hint for use in the model selection UI. If absent, the `block` text is reused.
- If any error occurs reading the override config, the system logs `model-error-overrides picker hint failed:` or `tengu-model-error-overrides block check failed:` and falls back to default behavior.

This is a server-controlled capability with no user-facing knob; the overrides are delivered via the existing feature-flag config mechanism and take effect automatically when present.

**Evidence**

New config key (search for `"tengu-model-error-overrides"`)

### First-Party Guard on Saffron Lattice Eligibility

The function that checks whether a user is eligible for the saffron lattice (progressive-rollout update) feature now requires the installation to be a first-party build (`l6() !== "firstParty"` returns early). Previously this check was absent, meaning third-party or forked builds could inadvertently enter the saffron lattice update path.

**Evidence**

New guard in eligibility check (search for `"firstParty"` near `tengu_saffron_lattice`)

- Flag `tengu_saffron_lattice`: Not enough to say (read for one account on one subscription tier against v2.1.177; this account: no value returned, anonymous baseline: no value returned, compiled default: not a boolean we can read) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

### Saffron Lattice Default State

The default value used when the `tengu_saffron_lattice` feature flag is absent or fails to parse was changed from an empty object `{}` to an explicit disabled state `{ enabled: false }`. This makes the fallback behavior unambiguous — if the server config is unavailable, the feature is definitively off rather than potentially entering an indeterminate state.

**Evidence**

Default sentinel `zJ4 = { enabled: !1 }` (search for `"tengu_saffron_lattice"`)

- Flag `tengu_saffron_lattice`: Not enough to say (read for one account on one subscription tier against v2.1.177; this account: no value returned, anonymous baseline: no value returned, compiled default: not a boolean we can read) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.
