larksuite/cli · error

segment %q has invalid RFC 6901 escaping

Error message

segment %q has invalid RFC 6901 escaping

What it means

Guard in applyDataOverride: a JSON-pointer segment uses invalid RFC 6901 escaping (~ must be followed by 0 or 1), so the pointer cannot be decoded.

Source

Thrown at shortcuts/common/typed_compile_data.go:347

				return err
			}
		}
	default:
		return fmt.Errorf("%s uses unknown ValueShape %T", path, shape)
	}
	return nil
}

func applyDataOverride(root *typedObjectShape, override typedDataField) error {
	encodedParts := strings.Split(strings.TrimPrefix(override.Path, "/"), "/")
	if len(encodedParts) == 0 || encodedParts[0] == "" {
		return fmt.Errorf("pointer must identify a field")
	}
	parts := make([]string, len(encodedParts))
	for i, encoded := range encodedParts {
		decoded, ok := decodeJSONPointerSegment(encoded)
		if !ok {
			return fmt.Errorf("segment %q has invalid RFC 6901 escaping", encoded)
		}
		parts[i] = decoded
	}
	return mutateObjectField(root, parts, func(field *typedValueField) error {
		if override.Description != "" {
			if field.Description != "" {
				return fmt.Errorf("description is declared by both doc and DataField.Description")
			}
			field.Description = strings.TrimSpace(override.Description)
		}
		if override.Shape != nil {
			if shapeHasConstraints(field.Shape) {
				return fmt.Errorf("Shape conflicts with schema constraints")
			}
			shape, err := lowerAuthoringShape(override.Shape)
			if err != nil {
				return err
			}

View on GitHub (pinned to 7fd6ef3c07)

Solutions

  1. Use valid RFC 6901 escaping (~0 for ~, ~1 for /) in the pointer
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at shortcuts/common/typed_compile_data.go:347 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of larksuite/cli@7fd6ef3c07 (2026-09-04). Data as JSON: /api/errors/f5a352f01e8c9cfa. Report an issue: GitHub.