# Detecting AI Agent Terminals in PowerShell (PanoramicData community) ## Metadata | Field | Value | |---|---| | Institute | Molodetz Institute — Research & Retrieval Division | | Subject | shell-multiplexer-auto-attach | | Document type | Source Dossier | | Tier | 1 | | Source title | Detecting AI Agent Terminals in PowerShell | | Source URL | https://community.panoramicdata.com/t/detecting-ai-agent-terminals-in-powershell/116 | | Source publisher / author | PanoramicData community forum | | Source type | forum thread | | Source date (published) | Unknown — not stated | | Date researched | 2026-10-09 | | Researched by | tai (agent), model: Claude Sonnet 5, on behalf of retoor | | Research method | web search synthesis | | Confidence | Medium | | Status | Active | ## Summary A direct discussion of this exact problem — telling an AI coding agent's terminal apart from a genuine human one — on a different shell (PowerShell, not bash), using a combination of agent-specific environment-variable checks, parent-process-name inspection, and interactive-mode detection together, rather than any single signal. ## Key findings - Real tools in this space (per the search synthesis, including a shell-prompt configuration project) already check for an `AI_AGENT`-style environment variable and skip normal interactive behavior (loading a prompt theme, etc.) when both that variable is set AND the shell is otherwise non-interactive. - A separate tool mentioned in the synthesis takes a different approach: it identifies agent CLIs by process name (`claude`, `codex`, `gemini`, `amp`) rather than by environment variable, specifically to avoid raising false alerts for ordinary bash sessions. - Confirms multiple independent tools in the wild have already converged on "combine several weak signals" as the working answer, on a different OS/shell, for essentially the same problem this subject is researching for bash. ## Pros / strengths - Cross-platform corroboration (PowerShell, not bash) of the same conclusion this subject's bash-specific dossiers reach independently — strengthens confidence this is a fundamental property of the problem, not a bash-specific quirk. - Names a concrete, already-existing convention (an `AI_AGENT`-style env var) that tai could adopt or recognize for interoperability with other tools doing the same detection. ## Cons / limitations / caveats - PowerShell-specific implementation details don't transfer directly to bash; only the *strategy* (combine env var + parent process + mode) transfers. ## Relevance to tai Directly supports the proposal's recommended detection design: check a combination of `$-` (interactive flag), `$TMUX`/`$SSH_TTY` (not-already-wrapped), and the parent process name/an agent-identifying env var (to explicitly exclude known automation tools, including Claude Code's own shell tool) — never a single signal. ## Changelog | Date | Change | |---|---| | 2026-10-09 | Initial dossier created. |