{"record":{"id":"2aee344f21c814ea","repo":"elsa-workflows/elsa-core","slug":"no-input-with-name-inputname-could-be-found","errorCode":null,"errorMessage":"No input with name {inputName} could be found","messagePattern":"No input with name (.+?) could be found","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/modules/Elsa.Workflows.Core/Extensions/ActivityExecutionContextExtensions.InputEvaluation.cs","lineNumber":53,"sourceCode":"        public async Task<T?> EvaluateInputPropertyAsync<TActivity, T>(Expression<Func<TActivity, Input<T>>> propertyExpression)\n        {\n            var inputName = propertyExpression.GetProperty()!.Name;\n            var input = await EvaluateInputPropertyAsync(context, inputName);\n            return input.ConvertTo<T>();\n        }\n\n        /// <summary>\n        /// Evaluates a specific input property of the activity.\n        /// </summary>\n        public async Task<object?> EvaluateInputPropertyAsync(string inputName)\n        {\n            var activity = context.Activity;\n            var activityRegistryLookup = context.GetRequiredService<IActivityRegistryLookupService>();\n            var activityDescriptor = await activityRegistryLookup.FindAsync(activity.Type) ?? throw new Exception(\"Activity descriptor not found\");\n            var inputDescriptor = activityDescriptor.GetWrappedInputPropertyDescriptor(activity, inputName);\n\n            if (inputDescriptor == null)\n                throw new Exception($\"No input with name {inputName} could be found\");\n\n            return await EvaluateInputPropertyAsync(context, activityDescriptor, inputDescriptor);\n        }\n\n        /// <summary>\n        /// Evaluates the specified input and sets the result in the activity execution context's memory space.\n        /// </summary>\n        /// <param name=\"input\">The input to evaluate.</param>\n        /// <typeparam name=\"T\">The type of the input.</typeparam>\n        /// <returns>The evaluated value.</returns>\n        public async Task<T?> EvaluateAsync<T>(Input<T> input)\n        {\n            var evaluator = context.GetRequiredService<IExpressionEvaluator>();\n            var memoryBlockReference = input.MemoryBlockReference();\n            var value = await evaluator.EvaluateAsync(input, context.ExpressionExecutionContext);\n            memoryBlockReference.Set(context, value);\n            return value;\n        }","sourceCodeStart":35,"sourceCodeEnd":71,"githubUrl":"https://github.com/elsa-workflows/elsa-core/blob/fe9217bdfa0e27f0e09e45006eb6898f616e513d/src/modules/Elsa.Workflows.Core/Extensions/ActivityExecutionContextExtensions.InputEvaluation.cs#L35-L71","documentation":"Thrown by EvaluateInputPropertyAsync when the activity descriptor was found but has no input descriptor matching the requested inputName. The registry knows the activity type, but the requested input property does not exist on it.","triggerScenarios":"Calling EvaluateInputPropertyAsync(\"SomeInput\") where SomeInput is not a declared Input descriptor on the activity type (typo, renamed property, input declared on a different activity, or wrapped input descriptor removed).","commonSituations":"Renaming an Input property in a custom activity while workflows or designer code still reference the old name; passing the property name instead of the descriptor Name; casing mismatches; calling on base-type-only inputs that are not wrapped.","solutions":["Correct the inputName to match the Input descriptor's Name exactly (same casing).","Inspect activityDescriptor.Inputs to list valid input names before calling.","If the property was renamed, update workflow definitions/designer bindings to the new name.","Check whether the input should be resolved via the wrapped input property (GetWrappedInputPropertyDescriptor) and that it is declared on the activity."],"exampleFix":"// before\nawait context.EvaluateInputPropertyAsync(\"Resultt\"); // typo\n\n// after\nvar names = activityDescriptor.Inputs.Select(i => i.Name); // verify first\nawait context.EvaluateInputPropertyAsync(nameof(MyActivity.Result));","handlingStrategy":"validation","validationCode":"var inputNames = activityDescriptor.Inputs.Select(i => i.Name).ToHashSet(StringComparer.Ordinal);\nif (!inputNames.Contains(inputName))\n    throw new ArgumentException($\"Unknown input '{inputName}'. Valid: {string.Join(\", \", inputNames)}\");","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use nameof(...) or the descriptor's Name when referring to inputs.","List activityDescriptor.Inputs when unsure of valid names.","Update all references when renaming Input properties."],"tags":["workflow","input","activity-descriptor","csharp"],"backgroundTag":"missing-required-argument","analyzedSha":"fe9217bdfa0e27f0e09e45006eb6898f616e513d","analyzedAt":"2026-09-13T20:32:34.702Z","contentChangedAt":"2026-09-13T20:32:34.702Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}