Skip to content

Proposal: envIdentity property — does the agent announce itself to the tools it runs? #65

Description

@Mihailoff

A property suggestion for the Features group (or Identity, your call):

The property

envIdentity — does the agent identify itself in the environment of the commands it executes (env vars like AI_AGENT, GEMINI_CLI=1, CURSOR_AGENT), so that CLI tools, loggers, and build output can detect it and adapt?

"envIdentity": {
  "value": "yes" | "no" | "partial",
  "detail": "AI_AGENT=claude-code_<version>_<mode> (documented)"
}

Why it fits the matrix

It's a real differentiation axis across your 24 agents, and the ecosystem is currently diverged:

  • Documented flags: Claude Code (AI_AGENT), Gemini CLI (GEMINI_CLI=1), OpenCode (OPENCODE=1), Copilot CLI (COPILOT_CLI=1), Qwen Code
  • Undocumented but real: Cursor (CURSOR_AGENT), Goose (AGENT=goose, some paths only), Aider (accidental OR_APP_NAME)
  • No signal at all: Crush, Continue, and others — subprocesses can't tell they're inside an agent

That maps cleanly onto yes / partial / no, and it matters to the same audience comparing agentsMdSupport — it's the other direction of the same handshake (AGENTS.md = human tells agent; envIdentity = agent tells tools).

Data offer

We maintain ai-agent-detect, which documents exactly this per agent with evidence tiers (vendor docs > source code > community reports > live probes) — see docs/harnesses. Happy to send a PR filling envIdentity for all agents in the matrix, each with a sourced detail. Just say the word (and pick the property name/group you prefer).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions