MechanicalSoup is not installed in the running Python. Run `python -m pip install mechanicalsoup`. The PyPI name and the import name are both `mechanicalsoup` (all lowercase, one word), so there is no dash/underscore trap.

## The error

```text
ModuleNotFoundError: No module named 'mechanicalsoup'
```

## Fix it

1. **Install MechanicalSoup**

```
python -m pip install mechanicalsoup
```
Expected: `Successfully installed mechanicalsoup-...` with beautifulsoup4, lxml, and requests.

2. **Confirm**

```
python -c "import mechanicalsoup; b = mechanicalsoup.StatefulBrowser(); print('ok')"
```
Expected: prints `ok`.

## When this applies

- any mechanicalsoup import fails naming `mechanicalsoup`
- a fresh env or a script moved to a new machine

## When it does NOT apply

- errors naming `bs4` or `html5lib` mean MechanicalSoup IS installed but a dependency is broken
- `cannot import name 'StatefulBrowser'` on very old installs means pre-1.0 API (upgrade)

## Compatibility

MechanicalSoup 1.x current. Needs Python 3.8+. The main class is `StatefulBrowser` (the old `Browser` was renamed in 1.0).

## Why it happens

The package was never installed into the active interpreter. Form-filling scraper scripts are frequently copied between machines without their requirements, and the import is the first line that notices.

## Edge cases

- Old tutorials use `mechanicalsoup.Browser`. On 1.x that name is gone; use `StatefulBrowser`.
- If the import succeeds but form submission misbehaves, that is runtime behavior, not this error.
