Install Eniyan on your computer
Eniyan’s tools for your computer come in one Python package, eniyan, on PyPI. Pick your system and what you want to set up, and this page shows the exact commands for it. The address bar keeps your choices, so you can share the link.
On EACH 1, that is the gates your agents work through: files, websites, email, card checkouts and, on the Scale tier, agent-to-agent traffic. You need an account and, for the gates, an enrolled agent. Start with the quickstart if you have neither.
Your computer
Pick your computer and what you want to set up. The steps below follow.
Install steps for macOS
Commands are for your terminal (bash or zsh).
1 · Get Python 3.10 or newer
Eniyan needs Python 3.10 or newer. Check what you have:
python3 --versionIf it prints Python 3.9.6, that is the copy that comes with Apple’s Command Line Tools, and it is too old. pip will not say so. It fails like this instead:
ERROR: Could not find a version that satisfies the requirement eniyan[scan] (from versions: none)
ERROR: No matching distribution found for eniyan[scan]Install a current Python from python.org or with Homebrew:
brew install python2 · Install Eniyan with pipx
You will install eniyan[browser]>=0.9. The part in brackets adds what your choices need:
browser: for the real-browser engine (Playwright); it includes mcp
Keep the double quotes around it. They stop your shell from reading the brackets (zsh, the macOS default, refuses them) and from reading >= as a redirect.
Install pipx
With Homebrew:
brew install pipxInstall Eniyan
pipx install "eniyan[browser]>=0.9"
pipx inject --include-apps --force eniyan playwrightThe second line puts Playwright’s own command next to eniyan’s. You need it once, further down this page, to download the browser. Keep --force: the browser extra already installed Playwright, and without it pipx changes nothing.
Put the commands on your PATH
pipx ensurepathThis adds ~/.local/bin to your PATH. Open a new terminal so it takes effect.
If pip says “externally-managed-environment”
error: externally-managed-environment
× This environment is externally managedYour system’s Python is protecting itself (Homebrew’s Python does this). Use pipx or a virtual environment, the methods on this page. Do not pass --break-system-packages.
3 · Connect your AI tools
Enroll an agent in the dashboard, then open its Connect screen. It has a ready config for Claude Code, a .mcp.json file, Cursor, the Python SDK, eniyan-fs and eniyan-web. Paste the one for your AI tool.
Each gate needs two secrets from the dashboard:
ENIYAN_API_KEY: your organization’s API key, from API keys.ENIYAN_CREDENTIAL_TOKEN: the agent’s credential, shown once on the Connect screen. Get a fresh token issues a new one and revokes the old one.
Keep these secrets out of shared files
Put them in your own user-level config. Never commit a .mcp.json that holds them to a repository, or paste them into a file other people can read.
Desktop apps started from the Dock may not see ~/.local/bin. If your AI tool says it cannot find a command, put its full path in the config’s command. Find it with:
which eniyan-mcpWrite the path out in full, like /Users/you/.local/bin/eniyan-mcp: configs do not expand ~.
Your files (eniyan-fs)
ENIYAN_FS_ROOTS lists the folders your agent may reach, as alias=path pairs separated by colons, for example projects=/Users/you/code:notes=/Users/you/notes. Each path must be a folder that exists. Anything outside is refused on your computer. See Governed local files.
Websites (eniyan-web)
The sites your agent may visit are set on the agent’s dashboard page, never in the config. eniyan-web has two engines: a plain HTTP fetch (the PACH 1 default) and a real browser (the EACH 1 default). Check which one your agent uses on its dashboard page.
The real browser needs Chromium, downloaded once:
playwright install chromium- Run
playwright install chromiumagain after Playwright is upgraded. - Playwright supports macOS 14 or later.
- The Connect screen adds
ENIYAN_WEB_ENGINE=browser,ENIYAN_WEB_HEADLESS=0(a visible window, so you can complete sign-ins) andENIYAN_WEB_PROFILE_DIR. Point that at an empty folder just for this agent, never your own browser profile. - The engine must also be set to Real browser on the agent’s dashboard page, or the gate refuses to start.
The browser download is kept in Playwright’s browser folder, not in eniyan’s install.
Upgrade later
pipx upgrade eniyanAn upgrade keeps the extras you installed with. To add one later, install again with the new list:
pipx install --force "eniyan[browser]>=0.9"
pipx inject --include-apps --force eniyan playwright- Run
playwright install chromiumagain if Playwright was upgraded. - Restart your AI tool so it starts the new version of each gate.
Uninstall
Remove the package:
pipx uninstall eniyan- Remove the Eniyan entries from your AI tools’ MCP settings.
- The Chromium download stays in Playwright’s folder:
~/Library/Caches/ms-playwright. Delete it if nothing else uses it.
Troubleshooting on macOS
- “command not found” (or “not recognized”)
- The folder the commands are in,
~/.local/bin, is not on your PATH. Runpipx ensurepathand open a new terminal. - “from versions: none” or “No matching distribution found for eniyan”
- Your Python is older than 3.10, so pip sees no release it can install. Go back to step 1. On a Mac, this is usually Apple’s Python 3.9.6.
- “error: externally-managed-environment”
- Your system Python refuses installs from pip. Use pipx or a virtual environment. Do not pass
--break-system-packages. - “eniyan-fs needs the mcp extra” (or eniyan-mcp, eniyan-web)
- The package was installed without the extras. Install it again with them:bash
pipx install --force "eniyan[browser]>=0.9" pipx inject --include-apps --force eniyan playwright - “the browser engine needs the browser extra”
- Install again with
browserin the brackets (the command above), then runplaywright install chromium. - “this agent’s dashboard config does not enable the browser engine”
- Switch the engine to Real browser on the agent’s dashboard page, or remove
ENIYAN_WEB_ENGINE=browserfrom the config to use fetch. - The first web page fails, but the gate started
- Chromium starts only at the first page, so a missing browser shows up there. Run
playwright install chromium.
All systems at a glance
The recommended install for each system. Pick a system above for the full steps.
| System | Recommended install | Check your Python |
|---|---|---|
| macOS | brew install pipx, then pipx install "eniyan[browser]>=0.9" | python3 --version (Apple’s 3.9.6 is too old) |
| Windows | py -m pip install --upgrade "eniyan[browser]>=0.9" (or pipx, uv tool, a virtual environment) | py --version |
| Linux desktop | pipx (apt or dnf), then pipx install "eniyan[browser]>=0.9"; or a virtual environment | python3 --version (Ubuntu 22.04, Debian 12, Fedora and later are fine) |
| Linux server or container | pipx install "eniyan[browser]>=0.9", or a virtual environment | python3 --version (RHEL 8 and 9: install python3.12) |
| WSL | pipx install "eniyan[browser]>=0.9", or a virtual environment | python3 --version |
The package shown carries this page’s default choices (the gates, with the real browser EACH 1 agents use by default). The steps above add what the others need, including the one-time browser download. Every system needs Python 3.10 or newer. Keep the double quotes around the package in every shell.