diff --git a/openhands/storage/data_models/user_secrets.py b/openhands/storage/data_models/user_secrets.py index 983cae2fbc..6ffe7ff9a2 100644 --- a/openhands/storage/data_models/user_secrets.py +++ b/openhands/storage/data_models/user_secrets.py @@ -45,7 +45,7 @@ class UserSecrets(BaseModel): expose_secrets = info.context and info.context.get('expose_secrets', False) for token_type, provider_token in provider_tokens.items(): - if not provider_token: + if not provider_token or not provider_token.token: continue token_type_str = ( diff --git a/openhands/storage/secrets/file_secrets_store.py b/openhands/storage/secrets/file_secrets_store.py index 12b5d16d04..769d085d0d 100644 --- a/openhands/storage/secrets/file_secrets_store.py +++ b/openhands/storage/secrets/file_secrets_store.py @@ -20,6 +20,12 @@ class FileSecretsStore(SecretsStore): try: json_str = await call_sync_from_async(self.file_store.read, self.path) kwargs = json.loads(json_str) + provider_tokens = { + k: v + for k, v in (kwargs.get('provider_tokens') or {}).items() + if v.get('token') + } + kwargs['provider_tokens'] = provider_tokens secrets = UserSecrets(**kwargs) return secrets except FileNotFoundError: