diff --git a/dotnet/src/webdriver/Remote/HttpCommandExecutor.cs b/dotnet/src/webdriver/Remote/HttpCommandExecutor.cs
index 2066ae14a3f3f..c226e8a943d14 100644
--- a/dotnet/src/webdriver/Remote/HttpCommandExecutor.cs
+++ b/dotnet/src/webdriver/Remote/HttpCommandExecutor.cs
@@ -111,6 +111,11 @@ public HttpCommandExecutor(Uri addressOfRemoteServer, TimeSpan timeout, bool ena
///
public string UserAgent { get; set; }
+ ///
+ /// Gets the address of the remote end this executor connects to.
+ ///
+ internal Uri RemoteServerUri => this.remoteServerUri;
+
///
/// Gets the repository of objects containing information about commands.
///
diff --git a/dotnet/src/webdriver/WebDriver.cs b/dotnet/src/webdriver/WebDriver.cs
index 6e01e32d72cc0..90d160268c700 100644
--- a/dotnet/src/webdriver/WebDriver.cs
+++ b/dotnet/src/webdriver/WebDriver.cs
@@ -604,6 +604,11 @@ protected void StartSession(ICapabilities capabilities)
{
Dictionary matchCapabilities = this.GetCapabilitiesDictionary(capabilities);
+ if (this.CommandExecutor is Remote.HttpCommandExecutor httpExecutor)
+ {
+ matchCapabilities["se:remoteUrl"] = httpExecutor.RemoteServerUri.AbsoluteUri;
+ }
+
List