{"record":{"id":"f16aaf42dd6571db","repo":"hasura/graphql-engine","slug":"argument-argument-name-on-field-field-name-of","errorCode":null,"errorMessage":"argument {argument_name} on field {field_name} of type {type_name} not found","messagePattern":"argument (.+?) on field (.+?) of type (.+?) not found","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/crates/graphql/lang-graphql/src/validation/error.rs","lineNumber":164,"sourceCode":"    #[error(\"there should only be one anonymous operation in the document\")]\n    AnonymousOperationMustBeUnique,\n    #[error(\"no mutations are defined in the schema\")]\n    NoMutationsAreDefined,\n    #[error(\"no subscriptions are defined in the schema\")]\n    NoSubscriptionsAreDefined,\n    #[error(\"internal error: selection root is not of object type\")]\n    InternalSelectionRootIsNotObject,\n    #[error(\"operation not found: {operation_name}\")]\n    OperationNotFound { operation_name: ast::Name },\n    #[error(\"no anonymous operation found in the document\")]\n    AnonymousOperationNotFound,\n    #[error(\"expected arguments '{}' on field {field_name} of type {type_name} are not found\", argument_names.iter().map(ToString::to_string).collect::<Vec<_>>().join(\", \"))]\n    ArgumentsNotFound {\n        type_name: ast::TypeName,\n        field_name: ast::Name,\n        argument_names: Vec<ast::Name>,\n    },\n    #[error(\"argument {argument_name} on field {field_name} of type {type_name} not found\")]\n    ArgumentNotFound {\n        type_name: ast::TypeName,\n        field_name: ast::Name,\n        argument_name: ast::Name,\n    },\n    #[error(\n        \"argument {argument_name} on field {field_name} of type {type_name} is defined more than once\"\n    )]\n    DuplicateArguments {\n        type_name: ast::TypeName,\n        field_name: ast::Name,\n        argument_name: ast::Name,\n    },\n    #[error(\n        \"required argument {argument_name} not found on field {field_name} of type {type_name}\"\n    )]\n    RequiredArgumentNotFound {\n        type_name: ast::TypeName,","sourceCodeStart":146,"sourceCodeEnd":182,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/graphql/lang-graphql/src/validation/error.rs#L146-L182","documentation":"Validation error from lang-graphql thrown when a single named argument referenced on a field does not exist on that field of the given type. Unlike ArgumentsNotFound (which reports a batch of expected arguments), this points at one specific argument name.","triggerScenarios":"A document contains `field(unknownArg: value)` and normalize_arguments cannot resolve unknownArg against the field definition for field_name on type_name.","commonSituations":"Typos in argument names, schema drift between client and server, using arguments defined on a different field, camelCase/snake_case mismatches.","solutions":["Fix or remove the argument named in the error message on the reported field","Verify the argument exists on that exact field in the schema (introspect if unsure)","Regenerate typed client code after schema changes"],"exampleFix":"# before\nquery { user(id: 1) } # user has no id argument\n# after\nquery { userById(id: 1) }","handlingStrategy":"validation","validationCode":"// Introspect the field's args once and check before sending\nlet arg_names: HashSet<&str> = schema_field_args(field, type_name);\nassert!(arg_names.contains(requested_arg), \"unknown argument\");","typeGuard":null,"tryCatchPattern":"// Catch Error::ArgumentNotFound { argument_name, field_name, .. } and map to a user-facing 'unknown argument' message","preventionTips":["Use typed/generated clients","Introspect the schema when building dynamic queries"],"tags":["graphql","validation","argument-not-found"],"backgroundTag":"graphql-argument-validation-failed","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}