{"record":{"id":"d82b0d056cd68f27","repo":"hasura/graphql-engine","slug":"conflicting-argument-names-argument-name-for-fie","errorCode":null,"errorMessage":"Conflicting argument names {argument_name} for field {field_name} of type {type_name}","messagePattern":"Conflicting argument names (.+?) for field (.+?) of type (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/crates/graphql/schema/src/lib.rs","lineNumber":372,"sourceCode":"    )]\n    InternalErrorDuplicateEntitySourceFound { type_name: ast::TypeName },\n    #[error(\"internal error while building schema, model not found: {model_name}\")]\n    InternalModelNotFound { model_name: Qualified<ModelName> },\n    #[error(\n        \"internal error while building schema, order by expression not found: {order_by_expression_identifier}\"\n    )]\n    InternalOrderByExpressionNotFound {\n        order_by_expression_identifier: Qualified<OrderByExpressionIdentifier>,\n    },\n    #[error(\n        \"internal error while building schema, filter_expression for model not found: {model_name}\"\n    )]\n    InternalModelFilterExpressionNotFound { model_name: Qualified<ModelName> },\n    #[error(\"internal error while building schema, boolean expression not found: {type_name}\")]\n    InternalBooleanExpressionNotFound {\n        type_name: Qualified<CustomTypeName>,\n    },\n    #[error(\n        \"Conflicting argument names {argument_name} for field {field_name} of type {type_name}\"\n    )]\n    GraphQlArgumentConflict {\n        field_name: ast::Name,\n        argument_name: ast::Name,\n        type_name: ast::TypeName,\n    },\n    #[error(\"internal error while building schema, command not found: {command_name}\")]\n    InternalCommandNotFound {\n        command_name: Qualified<CommandName>,\n    },\n    #[error(\n        \"internal error while building schema, aggregate expression not found: {aggregate_expression}\"\n    )]\n    InternalAggregateExpressionNotFound {\n        aggregate_expression: Qualified<AggregateExpressionName>,\n    },\n    #[error(","sourceCodeStart":354,"sourceCodeEnd":390,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/graphql/schema/src/lib.rs#L354-L390","documentation":"Schema-build error indicating two arguments on a generated field would share the same name — typically when building filter/order-by expressions or command arguments and two producers register the same argument name for a field.","triggerScenarios":"Building the schema when generated field arguments conflict, e.g. a command or relationship argument that generates an argument name equal to an existing argument (like `where`, `limit`, or a filter argument) on the same field.","commonSituations":"Command arguments named after reserved generated arguments (where/limit/offset/order_by), custom argument presets colliding, metadata upgrades that add new built-in arguments clashing with user-defined ones.","solutions":["Rename the conflicting command/relationship argument in metadata so it doesn't collide with generated arguments (where, limit, offset, order_by, etc.)","Check the field_name and argument_name in the error to find the exact field","Upgrade both metadata and engine together so built-in argument sets match"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Reject user argument names that collide with generated ones\nconst RESERVED: [&str; 4] = [\"where\", \"limit\", \"offset\", \"order_by\"];\nfor arg in &command.arguments {\n    assert!(!RESERVED.contains(&arg.name.as_str()), \"argument {} conflicts\", arg.name);\n}","typeGuard":null,"tryCatchPattern":"// Catch Error::GraphQlArgumentConflict { field_name, argument_name, .. } and rename the metadata argument","preventionTips":["Don't name command/relationship arguments where/limit/offset/order_by","Build the schema in CI to catch conflicts early"],"tags":["schema-generation","argument-conflict","hasura","metadata"],"backgroundTag":"graphql-schema-argument-name-collision","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}