# Unhandled exception: IsolateSpawnException: Failed to deserialize message: type 'List<dynamic>' is not a subtype of type 'List<String>'

- **ID:** `flutter/isolate-deserialize-list-subtype`
- **Domain:** flutter
- **Category:** type_error
- **Verification:** ai_generated
- **Fix Rate:** 83%

## Root Cause

Sending a list with generic type information that gets lost during serialization across isolates, causing a type mismatch on deserialization.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Flutter 3.16+ | active | — | — |
| Dart 3.2+ | active | — | — |

## Workarounds

1. **Cast the list to the expected type after receiving it using List<String>.from() or .cast<String>() with proper error handling.** (80% success)
   ```
   Cast the list to the expected type after receiving it using List<String>.from() or .cast<String>() with proper error handling.
   ```
2. **Use a custom serialization format like JSON encoding/decoding to preserve type information across isolates.** (85% success)
   ```
   Use a custom serialization format like JSON encoding/decoding to preserve type information across isolates.
   ```

## Dead Ends

- **** — Adding explicit type annotations to the list variable in the sending code does not guarantee type preservation during serialization. (50% fail)
- **** — Using .cast<String>() on the receiving end after receiving a List<dynamic> may throw if elements are not strings. (30% fail)
