diff --git a/src/Psalm/Internal/Analyzer/Statements/Expression/Fetch/VariableFetchAnalyzer.php b/src/Psalm/Internal/Analyzer/Statements/Expression/Fetch/VariableFetchAnalyzer.php index aad5caa9962..fa3f70a841a 100644 --- a/src/Psalm/Internal/Analyzer/Statements/Expression/Fetch/VariableFetchAnalyzer.php +++ b/src/Psalm/Internal/Analyzer/Statements/Expression/Fetch/VariableFetchAnalyzer.php @@ -612,7 +612,10 @@ private static function getGlobalTypeInner(string $var_id, bool $files_full_path } if ($var_id === '$http_response_header') { - return Type::getNonEmptyList(Type::getNonFalsyString()); + $list = Type::getNonEmptyList(Type::getNonFalsyString()); + // $http_response_header exists only in the local scope after a successful network request + $list->possibly_undefined = true; + return $list; } if ($var_id === '$GLOBALS') {