{"version":"2.1.281","anchor":"otel-label-validation-with-reserved-names","canonical_anchor":"otel-label-validation-with-reserved-names","heading":"OTEL label validation with reserved names","tier":"notice","area":"Telemetry","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/otel-label-validation-with-reserved-names","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### OTEL label validation with reserved names\n\nCustom telemetry labels are now checked: names use a limited character set, some names are reserved, and values must be short printable ASCII\n\n**Unclear.** The finding does not say which setting defines these labels or what happens to existing labels that fail the check.\n\n**What**\n\nTelemetry is the usage and performance data Claude Code can report, here through OpenTelemetry (OTEL), a common standard for that data. Labels you define for it are now checked against these rules:\n\n- Names: 1 to 255 characters, using only letters, digits, `.`, `_` and `-`.\n\n- Reserved names: `service.name`, `service.version`, `claude.deployment_mode`, `host.arch`, `os.type`, `os.version` and `wsl.version` cannot be used.\n\n- Reserved prefixes: names starting with `enduser.`, `user.` or `identity.` cannot be used.\n\n- Values: must not be empty, must use printable ASCII characters only, and must fit in 255 characters once encoded.\n\nUsing a reserved name gives an error saying the gateway or Claude sets it and asking you to choose another name.\n\n**Why**\n\nYour own labels can no longer overwrite the ones Claude Code or a gateway sets. Anyone who already sends custom labels should check them against these rules.\n\n- Area: Telemetry\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5"}