diff --git a/odoo/addons/base/models/res_users.py b/odoo/addons/base/models/res_users.py index 32a591b6c77..0e61fa63e20 100644 --- a/odoo/addons/base/models/res_users.py +++ b/odoo/addons/base/models/res_users.py @@ -1568,7 +1568,14 @@ class APIKeysUser(models.Model): return False def _check_credentials(self, password, user_agent_env): - if user_agent_env['interactive']: + user_agent_env = user_agent_env or {} + if user_agent_env.get('interactive', True): + if 'interactive' not in user_agent_env: + _logger.warning( + "_check_credentials without 'interactive' env key, assuming interactive login. \ + Check calls and overrides to ensure the 'interactive' key is properly set in \ + all _check_credentials environments" + ) return super()._check_credentials(password, user_agent_env) if not self.env.user._rpc_api_keys_only():