AI Agent Detector
Detect whether your Python code is running inside an AI agent (Codex, Claude, Cursor, Devin, and more).
A Python port of pushpak1300's PHP library agent-detector.
Installation
pip install ai-agent-detector
Usage
from ai_agent_detector import detect_agent
result = detect_agent()
result.is_agent # True / False
result.name # "codex", "claude", "cursor", … or None
result.is_known_agent # True if the agent is in the built-in list
How detection works
Detection is attempted in this order:
1. Custom agent — AI_AGENT env var
Any process can set the AI_AGENT environment variable to identify itself:
AI_AGENT=my-custom-agent python script.py
result.is_known_agent will be False for custom agents not in the built-in list.
2. Known agents — environment variables
Each known agent is detected by the presence of one or more environment variables it sets automatically:
| Agent | Env vars |
|---|---|
| Amp | AMP_CURRENT_THREAD_ID |
| Antigravity | ANTIGRAVITY_AGENT |
| Augment CLI | AUGMENT_AGENT |
| Claude Code | CLAUDECODE, CLAUDE_CODE |
| Codex | CODEX_SANDBOX, CODEX_THREAD_ID |
| Copilot | COPILOT_CLI |
| Cursor | CURSOR_AGENT |
| Gemini CLI | GEMINI_CLI |
| Opencode | OPENCODE_CLIENT, OPENCODE |
| Replit | REPL_ID |
The variable just needs to be present — its value is not checked.
3. Devin — filesystem marker
Devin does not set a dedicated env var. Instead, its presence is detected by checking for the file /opt/.devin.
Development
uv sync
uv run mypy src
uv run pytest
Metadata
Release files for ai-agent-detector 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ai_agent_detector-0.2.0.tar.gz | 2.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ai_agent_detector-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.4 kB
Release files / ai_agent_detector-0.2.0.tar.gz
| Download URL | ai_agent_detector-0.2.0.tar.gz |
|---|---|
| Size | 2.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c962dd1622ba1cf42208d4c47b8bb98b1ab9759b905cd0c8b3f6c211fb17128
|
|
BLAKE2b-256 checksum How to use checksums |
163db241352dab2cead35c94293e1635cf0404dc9330a1dfa2dd1b295f2d1422
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|
Release files / ai_agent_detector-0.2.0-py3-none-any.whl
| Download URL | ai_agent_detector-0.2.0-py3-none-any.whl |
|---|---|
| Size | 3.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4f1aa5e2171d5971f6c7843891f8e2c6cc79be99d90990e7afcc89ea28270277
|
|
BLAKE2b-256 checksum How to use checksums |
ef9d8aae95b2c30224f9242fd2111d4b8cbe5071e36222186b6f45506b1fa985
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|
Security for ai-agent-detector 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.