diff --git a/platformio/project/helpers.py b/platformio/project/helpers.py index 3c1e1b37..c41744a1 100644 --- a/platformio/project/helpers.py +++ b/platformio/project/helpers.py @@ -141,10 +141,11 @@ def load_project_ide_data(project_dir, env_or_envs, cache=False): if not isinstance(env_names, list): env_names = [env_names] - result = _load_cached_project_ide_data(project_dir, env_names) if cache else {} - missed_env_names = set(env_names) - set(result.keys()) - if missed_env_names: - result.update(_load_project_ide_data(project_dir, missed_env_names)) + with fs.cd(project_dir): + result = _load_cached_project_ide_data(project_dir, env_names) if cache else {} + missed_env_names = set(env_names) - set(result.keys()) + if missed_env_names: + result.update(_load_project_ide_data(project_dir, missed_env_names)) if not isinstance(env_or_envs, list) and env_or_envs in result: return result[env_or_envs]