{"record":{"id":"63843c4e6cc7ea93","repo":"hasura/graphql-engine","slug":"an-issue-occurred-while-mapping-arguments-in-the-c-63843c","errorCode":null,"errorMessage":"An issue occurred while mapping arguments in the command {command_name:} to the procedure {procedure_name:} in the data connector {data_connector_name:}: {issue:}","messagePattern":"An issue occurred while mapping arguments in the command (.+?) to the procedure (.+?) in the data connector (.+?): (.+?)","errorType":"validation","errorClass":"CommandsIssue::ProcedureArgumentMappingIssue","httpStatus":null,"severity":"error","filePath":"v3/crates/metadata-resolve/src/stages/commands/types.rs","lineNumber":79,"sourceCode":"    pub graphql_api: Option<CommandGraphQlApi>,\n    pub source: Option<Arc<CommandSource>>,\n    #[serde(default = \"serde_ext::ser_default\")]\n    #[serde(skip_serializing_if = \"serde_ext::is_ser_default\")]\n    pub description: Option<String>,\n}\n\n#[derive(Debug, thiserror::Error)]\npub enum CommandsIssue {\n    #[error(\n        \"An issue occurred while mapping arguments in the command {command_name:} to the function {function_name:} in the data connector {data_connector_name:}: {issue:}\"\n    )]\n    FunctionArgumentMappingIssue {\n        data_connector_name: Qualified<DataConnectorName>,\n        command_name: Qualified<CommandName>,\n        function_name: FunctionName,\n        issue: ArgumentMappingIssue,\n    },\n    #[error(\n        \"An issue occurred while mapping arguments in the command {command_name:} to the procedure {procedure_name:} in the data connector {data_connector_name:}: {issue:}\"\n    )]\n    ProcedureArgumentMappingIssue {\n        data_connector_name: Qualified<DataConnectorName>,\n        command_name: Qualified<CommandName>,\n        procedure_name: ProcedureName,\n        issue: ArgumentMappingIssue,\n    },\n    #[error(\"Cannot add the command {command_name:} to GraphQL schema: {error:}\")]\n    GraphQlRootFieldAlreadyInUse {\n        command_name: Qualified<CommandName>,\n        error: DuplicateRootFieldError,\n    },\n    #[error(\"Command '{command_name}' has an invalid output type '{output_type}'\")]\n    InvalidCommandOutputType {\n        command_name: Qualified<CommandName>,\n        output_type: TypeReference,\n    },","sourceCodeStart":61,"sourceCodeEnd":97,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/metadata-resolve/src/stages/commands/types.rs#L61-L97","documentation":"Same as the function case but for Procedures: mapping a Command's arguments onto a data connector procedure's parameters failed, and the inner ArgumentMappingIssue carries the specifics.","triggerScenarios":"A Command targeting a procedure whose argument names/types don't line up with the procedure's declared parameters in the connector schema.","commonSituations":"Procedure signature drifted (renamed/removed parameter) or metadata hand-written with a typo'd argument name.","solutions":["Inspect the inner ArgumentMappingIssue","Make command argument names/types match the procedure parameters","Regenerate command metadata after connector schema changes"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"let params: HashSet<_> = procedure.parameters.keys().cloned().collect();\nassert!(command.arguments.keys().all(|k| params.contains(k)));","typeGuard":null,"tryCatchPattern":"Catch and match ProcedureArgumentMappingIssue to report command/procedure names plus inner issue.","preventionTips":["Keep command argument lists in sync with procedure signatures","Re-generate metadata after connector schema changes"],"tags":["commands","argument-mapping","procedure","metadata"],"backgroundTag":"argument-mapping-mismatch","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}