diff --git a/services/wspr/internal/app/app.go b/services/wspr/internal/app/app.go
index baa5bda..d3bc5a1 100644
--- a/services/wspr/internal/app/app.go
+++ b/services/wspr/internal/app/app.go
@@ -224,7 +224,7 @@
 			callOpts = append(callOpts, options.AllowedServersPolicy(v.Value))
 		case RpcCallOptionRetryTimeout:
 			callOpts = append(callOpts, options.RetryTimeout(v.Value))
-		case RpcCallOptionUseGranter:
+		case RpcCallOptionGranter:
 			callOpts = append(callOpts, &jsGranter{c, v.Value})
 		default:
 			return nil, fmt.Errorf("Unknown RpcCallOption type %T", v)
diff --git a/services/wspr/internal/app/app.vdl b/services/wspr/internal/app/app.vdl
index 46d7689..e5ae717 100644
--- a/services/wspr/internal/app/app.vdl
+++ b/services/wspr/internal/app/app.vdl
@@ -41,7 +41,7 @@
 type RpcCallOption union {
 	AllowedServersPolicy []security.BlessingPattern
 	RetryTimeout         time.Duration
-	UseGranter GranterHandle
+	Granter GranterHandle
 }
 
 type RpcResponse struct {
diff --git a/services/wspr/internal/app/app.vdl.go b/services/wspr/internal/app/app.vdl.go
index 76358f7..b21cf98 100644
--- a/services/wspr/internal/app/app.vdl.go
+++ b/services/wspr/internal/app/app.vdl.go
@@ -54,8 +54,8 @@
 	RpcCallOptionAllowedServersPolicy struct{ Value []security.BlessingPattern }
 	// RpcCallOptionRetryTimeout represents field RetryTimeout of the RpcCallOption union type.
 	RpcCallOptionRetryTimeout struct{ Value time.Duration }
-	// RpcCallOptionUseGranter represents field UseGranter of the RpcCallOption union type.
-	RpcCallOptionUseGranter struct{ Value GranterHandle }
+	// RpcCallOptionGranter represents field Granter of the RpcCallOption union type.
+	RpcCallOptionGranter struct{ Value GranterHandle }
 	// __RpcCallOptionReflect describes the RpcCallOption union type.
 	__RpcCallOptionReflect struct {
 		Name  string "v.io/x/ref/services/wspr/internal/app.RpcCallOption"
@@ -63,7 +63,7 @@
 		Union struct {
 			AllowedServersPolicy RpcCallOptionAllowedServersPolicy
 			RetryTimeout         RpcCallOptionRetryTimeout
-			UseGranter           RpcCallOptionUseGranter
+			Granter              RpcCallOptionGranter
 		}
 	}
 )
@@ -78,10 +78,10 @@
 func (x RpcCallOptionRetryTimeout) Name() string                        { return "RetryTimeout" }
 func (x RpcCallOptionRetryTimeout) __VDLReflect(__RpcCallOptionReflect) {}
 
-func (x RpcCallOptionUseGranter) Index() int                          { return 2 }
-func (x RpcCallOptionUseGranter) Interface() interface{}              { return x.Value }
-func (x RpcCallOptionUseGranter) Name() string                        { return "UseGranter" }
-func (x RpcCallOptionUseGranter) __VDLReflect(__RpcCallOptionReflect) {}
+func (x RpcCallOptionGranter) Index() int                          { return 2 }
+func (x RpcCallOptionGranter) Interface() interface{}              { return x.Value }
+func (x RpcCallOptionGranter) Name() string                        { return "Granter" }
+func (x RpcCallOptionGranter) __VDLReflect(__RpcCallOptionReflect) {}
 
 type RpcResponse struct {
 	OutArgs       []*vdl.Value
