larksuite/cli · error

Args field %s: unknown arg mode %q

Error message

Args field %s: unknown arg mode %q

What it means

Compile-time guard: a field's arg tag contains an unrecognized mode. Only "local" and "inline" arg modes exist in the typed input compiler.

Source

Thrown at shortcuts/common/typed_compile_args.go:126

			case "inline":
				if insideInline {
					return fmt.Errorf("Args field %s: nested arg:\"inline\" is not allowed", field.Name)
				}
				inlineType := field.Type
				if inlineType.Kind() == reflect.Pointer {
					return fmt.Errorf("Args field %s: arg:\"inline\" must be a struct value, not pointer", field.Name)
				}
				if inlineType.Kind() != reflect.Struct {
					return fmt.Errorf("Args field %s: arg:\"inline\" must be a struct, got %s", field.Name, field.Type)
				}
				if hasAnyTag(field, "flag", "schema", "cli", "doc", "json") {
					return fmt.Errorf("Args field %s: arg:\"inline\" cannot declare public input tags", field.Name)
				}
				if err := collectArgFields(inlineType, index, true, out, seenGo, supplements); err != nil {
					return err
				}
			default:
				return fmt.Errorf("Args field %s: unknown arg mode %q", field.Name, argMode)
			}
			continue
		}
		if !flagNamePattern.MatchString(flagName) {
			return fmt.Errorf("Args field %s: flag %q is not a canonical flag name", field.Name, flagName)
		}
		if hasAnyTag(field, "json") {
			return fmt.Errorf("Args field %s (--%s): json tag is not allowed on a CLI field", field.Name, flagName)
		}
		valueType, valueIndex, isProvided, err := unwrapProvided(field.Type)
		if err != nil {
			return fmt.Errorf("Args field %s (--%s): %w", field.Name, flagName, err)
		}
		schema, err := parseSchemaTag(field.Tag.Get("schema"), valueType, true)
		if err != nil {
			return fmt.Errorf("Args field %s (--%s): %w", field.Name, flagName, err)
		}
		cli, err := parseCLITag(field.Tag.Get("cli"))

View on GitHub (pinned to 7fd6ef3c07)

Solutions

  1. Use arg:"local" or arg:"inline"
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at shortcuts/common/typed_compile_args.go:126 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/1b513c1dfb809f09. Report an issue: GitHub.