Repository: huggingface/transformers
Pull request: Do not return a tuple in mistral tokenizer Automapping

# What does this PR do?

As per title. Currently seems to break `from_pretrained` IIUC

repro:

```python
from transformers import AutoTokenizer
model_id = "mistralai/Mistral-Small-3.2-24B-Instruct-2506"
tokenizer = AutoTokenizer.from_pretrained(model_id)

print(tokenizer("about mistral"))
```

breaks on `main`

cc @itazap @ArthurZucker 

Changed files:
filename: src/transformers/models/auto/tokenization_auto.py
patch: @@ -218,11 +218,12 @@
         ("minimax", "GPT2Tokenizer" if is_tokenizers_available() else None),
         (
             "ministral3",
-            (
-                "MistralCommonBackend"
-                if is_mistral_common_available()
-                else ("LlamaTokenizer" if is_sentencepiece_available() else None),
-                "LlamaTokenizer" if is_tokenizers_available() and not is_mistral_common_available() else None,
+            "MistralCommonBackend"
+            if is_mistral_common_available()
+            else (
+                "LlamaTokenizer"
+                if is_tokenizers_available()
+                else ("LlamaTokenizer" if is_sentencepiece_available() else None)
             ),
         ),
         (
@@ -233,11 +234,12 @@
         ),
         (
             "mistral3",
-            (
-                "MistralCommonBackend"
-                if is_mistral_common_available()
-                else ("LlamaTokenizer" if is_sentencepiece_available() else None),
-                "LlamaTokenizer" if is_tokenizers_available() and not is_mistral_common_available() else None,
+            "MistralCommonBackend"
+            if is_mistral_common_available()
+            else (
+                "LlamaTokenizer"
+                if is_tokenizers_available()
+                else ("LlamaTokenizer" if is_sentencepiece_available() else None)
             ),
         ),
         (

filename: tests/models/auto/test_tokenization_auto.py
patch: @@ -44,6 +44,7 @@
 from transformers.models.auto.configuration_auto import CONFIG_MAPPING, AutoConfig
 from transformers.models.auto.tokenization_auto import (
     TOKENIZER_MAPPING,
+    TOKENIZER_MAPPING_NAMES,
     get_tokenizer_config,
     tokenizer_class_from_name,
 )
@@ -176,6 +177,22 @@ def test_model_name_edge_cases_in_mappings(self):
             # must find the right class
             tokenizer_class_from_name(tokenizer_name)
 
+    def test_tokenizer_mapping_names_use_single_entries(self):
+        # this is just to ensure tokenizer mapping names are correct and map to strings!
+        invalid_entries = [
+            model_name
+            for model_name, tokenizer_entry in TOKENIZER_MAPPING_NAMES.items()
+            if isinstance(tokenizer_entry, (tuple, list))
+        ]
+        self.assertListEqual(
+            invalid_entries,
+            [],
+            msg=(
+                "TOKENIZER_MAPPING_NAMES should map model types to single tokenizer class names. "
+                f"Found invalid mappings for: {invalid_entries}"
+            ),
+        )
+
     @require_tokenizers
     def test_from_pretrained_use_fast_toggle(self):
         self.assertIsInstance(