5 of 6 standards met
Problem LLM coding CLIs — Claude Code, OpenAI Codex, Gemini CLI, opencode, Cursor, Antigravity, and others — spawn a shell to run the commands they issue. When Pure is the active prompt in that shell, every starts an async worker that runs (dirty check), , arrows, and stash counting. Inside these agent shells that background work is undesirable: It is wasted effort in a short-lived, non-interactive shell that never displays the prompt to a human. performs network I/O and, in a sandboxed agent, may stall or be actively blocked, triggering Pure's password-prompt guard machinery for no reason. It adds disk load and process churn on every command the agent runs. Proposal Detect when Pure is running inside an LLM CLI agent shell and skip the async tasks entirely — flushing any in-flight jobs and clearing git/node state — before a worker is started. Detection can rely on the agent-specific marker environment variables these tools inject into the environment of every shell command they spawn. These are well-established and cross-validated by multiple independent agent-detection implementations (e.g. , GitHub CLI, GitButler, Firebase Tools, ClickHouse): Generic markers such as / should be excluded to avoid false positives in ordinary shells, and detection should be a non-empty check (Antigravity, for instance, sets its variable to in some cases rather than ). To keep this configurable, the behavior could be exposed via , e.g. an overridable list of marker variables () and an escape hatch to force detection off () for users who want git info even inside an agent shell. Environment Pure version: 1.28.1 Zsh: () OS: macOS Reference diff: https://github.com/sindresorhus/pure/compare/main...zchee:pure:llm-cli
General information Pure version: Not sure how to get this. I just installed it today with zplug ZSH version: zsh 5.1.1 (x86_64-ubuntu-linux-gnu) Terminal program & version: GNOME Terminal 3.18.3 Operating system: Ubuntu 16.04 ZSH framework: zplug I have: [x] Tested with another terminal program and can reproduce the issue: Hyperterm [x] Followed the Integration instructions for my framework Problem description Any chance of adding Mercurial support? I would like the same indicators that you have for Git. i.e., I want to know what branch I'm currently on, when the repo is dirty, and ideally when there is incoming or outgoing changesets. Reproduction steps 1. into a Mercurial repo (with directory in it) My :
Repository: sindresorhus/pure. Description: Pretty, minimal and fast ZSH prompt Stars: 14335, Forks: 1008. Primary language: Shell. Languages: Shell (100%). License: MIT. Topics: git, minimal, prompt, pure, shell, shell-prompt, shell-theme, terminal, theme, zsh. Latest release: v1.28.1 (1mo ago). Open PRs: 0, open issues: 0. Last activity: 3d ago. Community health: 71%. Top contributors: sindresorhus, mafredri, zmwangx, bricewge, pbrisbin, edouard-lopez, camsteffen, fvgs, kevva, 0xflotus and others.