Requirements
- Python 3.12 or 3.13, on macOS, Linux or Windows.
- On Windows, an agent driven through Claude’s command-line tool (
claude_agent_sdk) is not supported. Run it on macOS, Linux or WSL.
plurai-simulation-sdk. The import name and the command lines are plurai.
What the plugin installs
When no usable SDK is found, the plugin installs it into your project’s environment. It looks for that environment in this order:- The activated virtual environment, or the active conda environment (never conda’s
base). - A virtual environment in the project folder.
- The environment poetry (
poetry.lock) or pipenv (Pipfile) names.
.venv. A new
.venv lacks your agent’s dependencies. It never creates .venv without asking, and it stops when the
environment’s Python is older than 3.12.
Install it yourself
Every plugin release is tested with one SDK version. Print the exact install line for yours:Required version
The plugin runs only the SDK version it was tested with. When the SDK in your environment is a different version, the plugin stops before a Run, with one line naming the version it found, the version it needs, and the install command. The plugin only runs aplurai that an installed plurai-simulation-sdk distribution provides: a hand-built wrapper
script is not handed your login.
Extras
The base install is small. Install an extra only when you use it, with the same version pin, for example"plurai-simulation-sdk[langfuse]==1.0.0". The plugin installs the extras a command needs when it needs them.
plurai login, plurai --version and plurai capabilities need none of the extras.
Anonymization extras
Theanonymize extra also needs a spaCy English model, which is not a Python dependency:
anonymize-binary extra also needs two system programs on PATH: Tesseract (brew install tesseract, or
tesseract-ocr) and Poppler (brew install poppler, or poppler-utils).
Under the anonymized posture, ingestion fails closed: without the extra, the model or the system programs, it
refuses to run rather than upload unscrubbed data. A workspace on the default raw posture needs none of them.
See Data and privacy.
Verify the install
plurai capabilities is what the plugin reads. Its commands list is read off the live CLI, and its features
name behavior that command names do not reveal, such as export-dir-traces. plurai login --status never prints
your key.
Agent and runner in different environments
The runner (plurai-run-simulation) and your agent can use different virtual environments, for example when
your agent pins dependencies the runner’s environment cannot share. The agent runs in a child interpreter: the
runner’s own Python by default, or the one PLURAI_CHILD_PYTHON names:
simulate.py imports plurai.
Upgrade
When you update the plugin, the next Plurai command finds the SDK at the old version and offers to install the new one. To do it yourself, run the line--install-line prints. Check the changelog for breaking
changes first.
Next steps
Run simulations
Use
plurai-run-simulation directly.CLI reference
Every
plurai command and flag.