Unable to update namespaces using temporalio/cli

Using temporalio/cli I’m unable to update any property on namespaces. While using tctl everything works as expected. The behaviour is the same when having Temporal deployed to a Kubernetes cluster using the Helm chart or hen running the development server locally.

> tctl -v
tctl version 1.18.0

> temporal -v
temporal version 0.10.0 (server 1.21.0) (ui 2.16.2)

> temporal server start

> temporal operator namespace create test --description INITIAL
Namespace test successfully registered.

# The create namespace command didn't set the description. 
> temporal operator namespace describe test
NamespaceInfo.Name                    test                                              
NamespaceInfo.Id                      59ab4337-4b85-4c04-b195-3cb79524f344              
NamespaceInfo.Description                                                               
NamespaceInfo.OwnerEmail                                                                
NamespaceInfo.State                   Registered                                        
Config.WorkflowExecutionRetentionTtl  72h0m0s                                           
ReplicationConfig.ActiveClusterName   active                                            
ReplicationConfig.Clusters            [&ClusterReplicationConfig{ClusterName:active,}]  
Config.HistoryArchivalState           Disabled                                          
Config.VisibilityArchivalState        Disabled                                          
IsGlobalNamespace                     false                                             
FailoverVersion                                                                      0  
FailoverHistory                       []                                                

> temporal operator namespace update -v test --description TEST_VALUE
namespace update request detail:
[
  {
    "namespace": "test",
    "update_info": {},
    "config": {
      "workflow_execution_retention_ttl": 259200000000000
    },
    "replication_config": {}
  }
]
Namespace test update succeeded.

# description unchanged
> temporal operator namespace describe test
NamespaceInfo.Name                    test                                              
NamespaceInfo.Id                      4ef8dfc4-fcdb-4c6b-96b5-5571af4afaf0              
NamespaceInfo.Description                                                               
NamespaceInfo.OwnerEmail                                                                
NamespaceInfo.State                   Registered                                        
Config.WorkflowExecutionRetentionTtl  72h0m0s                                           
ReplicationConfig.ActiveClusterName   active                                            
ReplicationConfig.Clusters            [&ClusterReplicationConfig{ClusterName:active,}]  
Config.HistoryArchivalState           Disabled                                          
Config.VisibilityArchivalState        Disabled                                          
IsGlobalNamespace                     false                                             
FailoverVersion                                                                      0  

> tctl --ns test namespace update --description TEST_VALUE
Namespace default successfully updated.

# description changed
> temporal operator namespace describe test
NamespaceInfo.Name                    test                                              
NamespaceInfo.Id                      26234217-39a3-42b0-99d8-d45a4f8c4c6b              
NamespaceInfo.Description             TEST_VALUE                                        
NamespaceInfo.OwnerEmail                                                                
NamespaceInfo.State                   Registered                                        
Config.WorkflowExecutionRetentionTtl  72h0m0s                                           
ReplicationConfig.ActiveClusterName   active                                            
ReplicationConfig.Clusters            [&ClusterReplicationConfig{ClusterName:active,}]  
Config.HistoryArchivalState           Disabled                                          
Config.VisibilityArchivalState        Disabled                                          
IsGlobalNamespace                     false                                             
FailoverVersion                                                                      0  
FailoverHistory                       []            

# Trying again with the temporal executable. Now the verbose output also doesn't seem to contain the new version. 
>  temporal operator namespace update -v test --description TEST_VALUE_2
namespace update request detail:
[
  {
    "namespace": "test",
    "update_info": {
      "description": "TEST_VALUE"
    },
    "config": {
      "workflow_execution_retention_ttl": 259200000000000
    },
    "replication_config": {}
  }
]
Namespace test update succeeded.

Does anyone have an idea what’s going on here, and is able to help me fix this?

There is a limitation that the arguments (namespace name in this case) has to come last, try

temporal operator namespace update -v --description TEST_VALUE test

Thanks, that does solve the issue for me.