diff --git a/crates/ty/docs/cli.md b/crates/ty/docs/cli.md
index 4df73846cbdb1..ac26903b0005f 100644
--- a/crates/ty/docs/cli.md
+++ b/crates/ty/docs/cli.md
@@ -63,7 +63,10 @@ ty check [OPTIONS] [PATH]...
ty will search in the resolved environments's site-packages directories for type information and third-party imports.
--python-platform, --platform platformTarget platform to assume when resolving types.
This is used to specialize the type of sys.platform and will affect the visibility of platform-specific functions and attributes. If the value is set to all, no assumptions are made about the target platform. If unspecified, the current system's platform will be used.
---python-version, --target-version versionPython version to assume when resolving types
+--python-version, --target-version versionPython version to assume when resolving types.
+The Python version affects allowed syntax, type definitions of the standard library, and type definitions of first- and third-party modules that are conditional on the Python version.
+By default, the Python version is inferred as the lower bound of the project's requires-python field from the pyproject.toml, if available. Otherwise, the latest stable version supported by ty is used, which is currently 3.13.
+ty will not infer the Python version from the Python environment at this time.
Possible values:
3.7
diff --git a/crates/ty/src/args.rs b/crates/ty/src/args.rs
index be65581580bf7..9321319fad4ce 100644
--- a/crates/ty/src/args.rs
+++ b/crates/ty/src/args.rs
@@ -77,6 +77,15 @@ pub(crate) struct CheckCommand {
pub(crate) extra_search_path: Option>,
/// Python version to assume when resolving types.
+ ///
+ /// The Python version affects allowed syntax, type definitions of the standard library, and
+ /// type definitions of first- and third-party modules that are conditional on the Python version.
+ ///
+ /// By default, the Python version is inferred as the lower bound of the project's
+ /// `requires-python` field from the `pyproject.toml`, if available. Otherwise, the latest
+ /// stable version supported by ty is used, which is currently 3.13.
+ ///
+ /// ty will not infer the Python version from the Python environment at this time.
#[arg(long, value_name = "VERSION", alias = "target-version")]
pub(crate) python_version: Option,
diff --git a/crates/ty_test/src/config.rs b/crates/ty_test/src/config.rs
index 8bcaef829b3a6..316a3e502692e 100644
--- a/crates/ty_test/src/config.rs
+++ b/crates/ty_test/src/config.rs
@@ -57,6 +57,15 @@ impl MarkdownTestConfig {
#[serde(rename_all = "kebab-case", deny_unknown_fields)]
pub(crate) struct Environment {
/// Target Python version to assume when resolving types.
+ ///
+ /// The Python version affects allowed syntax, type definitions of the standard library, and
+ /// type definitions of first- and third-party modules that are conditional on the Python version.
+ ///
+ /// By default, the Python version is inferred as the lower bound of the project's
+ /// `requires-python` field from the `pyproject.toml`, if available. Otherwise, the latest
+ /// stable version supported by ty is used, which is currently 3.13.
+ ///
+ /// ty will not infer the Python version from the Python environment at this time.
pub(crate) python_version: Option,
/// Target platform to assume when resolving types.