fix for is_terminal
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2ef99e5e8..21386b2a1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
+## [13.3.4] - 2023-04-12
+
+### Fixed
+
+- Fixed for `is_terminal` ignoring FORCE_COLOR https://github.com/Textualize/rich/pull/2923
+
 ## [13.3.3] - 2023-02-27
 
 ### Added
@@ -1930,6 +1936,8 @@ Major version bump for a breaking change to `Text.stylize signature`, which corr
 
 - First official release, API still to be stabilized
 
+[13.3.4]: https://github.com/textualize/rich/compare/v13.3.3...v13.3.4
+[13.3.3]: https://github.com/textualize/rich/compare/v13.3.2...v13.3.3
 [13.3.2]: https://github.com/textualize/rich/compare/v13.3.1...v13.3.2
 [13.3.1]: https://github.com/textualize/rich/compare/v13.3.0...v13.3.1
 [13.3.0]: https://github.com/textualize/rich/compare/v13.2.0...v13.3.0
diff --git a/rich/console.py b/rich/console.py
index 8a0fdcd9b..cd6f5e57e 100644
--- a/rich/console.py
+++ b/rich/console.py
@@ -952,6 +952,7 @@ def is_terminal(self) -> bool:
         force_color = self._environ.get("FORCE_COLOR")
         if force_color is not None:
             self._force_terminal = True
+            return True
 
         isatty: Optional[Callable[[], bool]] = getattr(self.file, "isatty", None)
         try:
@@ -2000,7 +2001,6 @@ def _check_buffer(self) -> None:
                     self._record_buffer.extend(self._buffer[:])
 
             if self._buffer_index == 0:
-
                 if self.is_jupyter:  # pragma: no cover
                     from .jupyter import display
 
diff --git a/tests/test_console.py b/tests/test_console.py
index 3bcddefd0..990dce143 100644
--- a/tests/test_console.py
+++ b/tests/test_console.py
@@ -979,3 +979,15 @@ def test_force_color_jupyter():
         file=io.StringIO(), _environ={"FORCE_COLOR": "1"}, force_jupyter=True
     )
     assert not console.is_terminal
+
+
+def test_force_color():
+    console = Console(
+        file=io.StringIO(),
+        _environ={
+            "FORCE_COLOR": "1",
+            "TERM": "xterm-256color",
+            "COLORTERM": "truecolor",
+        },
+    )
+    assert console.color_system in ("truecolor", "windows")

Fixes `FORCE_COLOR` not being respected.

Fixes https://github.com/Textualize/rich/issues/2859