diff --git a/swh/loader/package/crates/loader.py b/swh/loader/package/crates/loader.py
index d38f75de858c84ce8cb3955cec6ab2f8ed2b9477..41d27485c2e0654dff6bede6b92e08c9b6b45f7c 100644
--- a/swh/loader/package/crates/loader.py
+++ b/swh/loader/package/crates/loader.py
@@ -296,13 +296,13 @@ class CratesLoader(PackageLoader[CratesPackageInfo]):
         url = artifact["url"]
 
         # Get extrinsic metadata from http api
-        e_metadata = ExtrinsicPackageMetadata(**self.info())  # type: ignore[misc]
+        e_metadata = ExtrinsicPackageMetadata(**self.info())  # type: ignore[typeddict-item]
 
         # Extract crate info for current version (One .crate file for a given version)
         (crate_version,) = [
             crate for crate in e_metadata["versions"] if crate["num"] == version
         ]
-        e_metadata_version = ExtrinsicVersionPackageMetadata(  # type: ignore[misc]
+        e_metadata_version = ExtrinsicVersionPackageMetadata(  # type: ignore[typeddict-item]
             **crate_version
         )
 
@@ -330,7 +330,9 @@ class CratesLoader(PackageLoader[CratesPackageInfo]):
         i_metadata = {
             k: v for k, v in i_metadata_raw["package"].items() if k in i_metadata_keys
         }
-        p_info.i_metadata = IntrinsicPackageMetadata(**i_metadata)  # type: ignore[misc]
+        p_info.i_metadata = IntrinsicPackageMetadata(
+            **i_metadata
+        )  # type: ignore[typeddict-item]
 
         author = extract_author(p_info)
         description = extract_description(p_info)
diff --git a/tox.ini b/tox.ini
index c9cb8640e030e5d4d81e1f5a256082c6fc7e622b..9de42c15bae2a85c532654e732286286a084c45a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -46,7 +46,7 @@ commands =
 extras =
   testing
 deps =
-  mypy==1.0.1
+  mypy==1.8.0
 commands =
   mypy swh