diff --git a/src/HotChocolate/Core/src/Execution/Processing/MiddlewareContext.Pure.cs b/src/HotChocolate/Core/src/Execution/Processing/MiddlewareContext.Pure.cs
index 742f8c5a576..85c8d9c2da7 100644
--- a/src/HotChocolate/Core/src/Execution/Processing/MiddlewareContext.Pure.cs
+++ b/src/HotChocolate/Core/src/Execution/Processing/MiddlewareContext.Pure.cs
@@ -66,7 +66,9 @@ public void Clear()
public IObjectType ObjectType => _parentType;
- public IFieldSelection Selection => _parentContext.Selection;
+ public IFieldSelection Selection => _selection;
+
+ public Path Path => _path;
public IVariableValueCollection Variables => _parentContext.Variables;
diff --git a/src/HotChocolate/Core/src/Types/Resolvers/IPureResolverContext.cs b/src/HotChocolate/Core/src/Types/Resolvers/IPureResolverContext.cs
index c31ef6366c1..eb99f6ebd9e 100644
--- a/src/HotChocolate/Core/src/Types/Resolvers/IPureResolverContext.cs
+++ b/src/HotChocolate/Core/src/Types/Resolvers/IPureResolverContext.cs
@@ -27,6 +27,11 @@ public interface IPureResolverContext : IHasContextData
///
IObjectType ObjectType { get; }
+ ///
+ /// Gets the current execution path.
+ ///
+ Path Path { get; }
+
///
/// Gets the field selection for which a field resolver is
/// being executed.
diff --git a/src/HotChocolate/Core/src/Types/Resolvers/IResolverContext.cs b/src/HotChocolate/Core/src/Types/Resolvers/IResolverContext.cs
index c1f2cbc9f7c..c8c6673c74e 100644
--- a/src/HotChocolate/Core/src/Types/Resolvers/IResolverContext.cs
+++ b/src/HotChocolate/Core/src/Types/Resolvers/IResolverContext.cs
@@ -50,11 +50,6 @@ public interface IResolverContext : IPureResolverContext
///
NameString ResponseName { get; }
- ///
- /// Gets the current execution path.
- ///
- Path Path { get; }
-
///
/// Indicates that the context has errors. To report new errors use
///
diff --git a/src/HotChocolate/Stitching/src/Stitching/Delegation/RemoteFieldHelper.cs b/src/HotChocolate/Stitching/src/Stitching/Delegation/RemoteFieldHelper.cs
new file mode 100644
index 00000000000..d06fe6d9c03
--- /dev/null
+++ b/src/HotChocolate/Stitching/src/Stitching/Delegation/RemoteFieldHelper.cs
@@ -0,0 +1,29 @@
+using System.Collections.Generic;
+using HotChocolate.Resolvers;
+using HotChocolate.Types;
+
+namespace HotChocolate.Stitching.Delegation;
+
+internal static class RemoteFieldHelper
+{
+ public static object? RemoteFieldResolver(IPureResolverContext context)
+ {
+ if (!context.Selection.Field.Directives.Contains(DirectiveNames.Computed) &&
+ context.Parent