## TL;DR
pytest does not recognize --alluredir because the allure-pytest plugin is not installed in the CI environment. Install it (pip install allure-pytest, pinned), make sure CI installs test dependencies from the lockfile, and rerun. The flag is valid; the plugin is just missing.

## The symptom
```text
pytest ERROR: unrecognized arguments --alluredir in CI  -  plugin not installed how to fix
```

## Steps
### 1. Confirm the plugin is missing
Run pip show allure-pytest (or pip freeze) in the CI environment. Absent means the flag has no owner.
Expected: Plugin confirmed missing in CI.

### 2. Install the plugin
Add allure-pytest to the test dependencies (pinned version) and install in CI from the lockfile.
Expected: Plugin installed in the CI environment.

### 3. Rerun pytest
Run the same pytest command. --alluredir is now recognized and the report generates.
Expected: Pytest runs; allure results written.

### 4. Pin test deps in CI
Ensure CI installs the full test extras (not just runtime deps) from a lockfile, so plugin drift cannot recur.
Expected: CI dependency install covers test plugins.

## When to use
- pytest ERROR: unrecognized arguments for a plugin flag
- The flag works locally but not in CI
- A plugin was recently added to the pytest invocation

## When not to use
- The flag is genuinely unknown (check spelling)
- The plugin is installed but incompatible (check versions)
- No plugins are used (different problem)

## Why it happens
pytest only knows plugin-provided flags when the plugin is installed. Local environments accumulate plugins over time; CI installs from a manifest. If the manifest lacks the plugin, CI's pytest rejects the flag at startup before running anything.

## Edge cases
- Multiple pytest plugin managers (tox, nox): install the plugin in each env.
- Conftest that registers the flag manually: an alternative, but installing the plugin is cleaner.
- Version skew: pin the plugin; unpinned installs drift.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_A-9Rl8QdERD1I4D4FZcjcQ
