diff --git a/clients/shell/go/src/v.io/x/chat/channel.go b/clients/shell/go/src/v.io/x/chat/channel.go
index caa3abe..571a9fb 100644
--- a/clients/shell/go/src/v.io/x/chat/channel.go
+++ b/clients/shell/go/src/v.io/x/chat/channel.go
@@ -67,8 +67,8 @@
 }
 
 // SendMessage is called by clients to send a message to the server.
-func (cs *chatServerMethods) SendMessage(call rpc.ServerCall, IncomingMessage string) error {
-	remoteb, _ := security.RemoteBlessingNames(call.Context())
+func (cs *chatServerMethods) SendMessage(ctx *context.T, _ rpc.ServerCall, IncomingMessage string) error {
+	remoteb, _ := security.RemoteBlessingNames(ctx)
 	cs.messages <- message{
 		SenderName: firstShortName(remoteb),
 		Text:       IncomingMessage,
diff --git a/clients/shell/go/src/v.io/x/chat/vdl/chat.vdl.go b/clients/shell/go/src/v.io/x/chat/vdl/chat.vdl.go
index b40d90c..8f80e1b 100644
--- a/clients/shell/go/src/v.io/x/chat/vdl/chat.vdl.go
+++ b/clients/shell/go/src/v.io/x/chat/vdl/chat.vdl.go
@@ -45,7 +45,7 @@
 // implements for Chat.
 type ChatServerMethods interface {
 	// SendMessage sends a message to a user.
-	SendMessage(call rpc.ServerCall, text string) error
+	SendMessage(ctx *context.T, call rpc.ServerCall, text string) error
 }
 
 // ChatServerStubMethods is the server interface containing
@@ -83,8 +83,8 @@
 	gs   *rpc.GlobState
 }
 
-func (s implChatServerStub) SendMessage(call rpc.ServerCall, i0 string) error {
-	return s.impl.SendMessage(call, i0)
+func (s implChatServerStub) SendMessage(ctx *context.T, call rpc.ServerCall, i0 string) error {
+	return s.impl.SendMessage(ctx, call, i0)
 }
 
 func (s implChatServerStub) Globber() *rpc.GlobState {
