diff --git a/lib/app/app_controller_desktop_runtime_helpers.dart b/lib/app/app_controller_desktop_runtime_helpers.dart index e349f517..ec4beccf 100644 --- a/lib/app/app_controller_desktop_runtime_helpers.dart +++ b/lib/app/app_controller_desktop_runtime_helpers.dart @@ -974,7 +974,13 @@ bool _usesOpenClawTaskSubmitEndpointInternal(GoTaskServiceRequest request) { if (request.isMultiAgentRequest || !request.target.isGateway) { return false; } - return normalizeSingleAgentProviderId(request.provider.providerId) == + final providerId = normalizeSingleAgentProviderId(request.provider.providerId); + if (providerId == kCanonicalGatewayProviderId) { + return true; + } + return normalizeSingleAgentProviderId( + request.effectiveRouting.preferredGatewayTarget, + ) == kCanonicalGatewayProviderId; } diff --git a/test/runtime/gateway_acp_client_auth_test.dart b/test/runtime/gateway_acp_client_auth_test.dart index 719a6fb9..1e326515 100644 --- a/test/runtime/gateway_acp_client_auth_test.dart +++ b/test/runtime/gateway_acp_client_auth_test.dart @@ -866,7 +866,7 @@ void main() { expect(openClawStart?.path, '/gateway/openclaw'); expect(openClawFollowUp?.path, '/gateway/openclaw'); - expect(unspecifiedGateway?.path, ''); + expect(unspecifiedGateway?.path, '/gateway/openclaw'); expect(multiAgentGateway?.path, ''); expect(agentTask?.path, ''); },