Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ 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).

### Changed

- Don't use windows legacy terminal support when ctypes is not available.

## [14.2.0] - 2025-10-09

### Changed
Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ The following people have contributed to the development of Rich:
- [Ed Davis](https://github.com/davised)
- [Pete Davison](https://github.com/pd93)
- [James Estevez](https://github.com/jstvz)
- [Jeong, YunWon](https://github.com/youknowone)
- [Jonathan Eunice](https://github.com/jonathan-3play)
- [Aryaz Eghbali](https://github.com/AryazE)
- [Oleksis Fraga](https://github.com/oleksis)
Expand Down
6 changes: 6 additions & 0 deletions rich/console.py
Original file line number Diff line number Diff line change
Expand Up @@ -581,6 +581,12 @@ def get_windows_console_features() -> "WindowsConsoleFeatures": # pragma: no co

def detect_legacy_windows() -> bool:
"""Detect legacy Windows."""
try:
import ctypes # noqa: F401
except ImportError:
# No ctypes doesn't mean no legacy windows,
# but legacy windows mode requires ctypes, so we force it off.
return False
return WINDOWS and not get_windows_console_features().vt


Expand Down