Env2hell — AI skill for Claude Code
Stops an AI assistant from printing your API keys into the session.
How to install Env2hell
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open vadbosh/env2hell and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Env2hell does
Stops an AI assistant from printing your API keys into the session. Denies env dumps, gives it a masked replacement. Claude Code, Opencode, Codex.
Alternatives in AI
- Vibeproxy — Native macOS menu bar app to use your Claude Code & ChatGPT subscriptions with AI coding tools - no API keys n 3.3k ★
- Dsh Plugin Subscriptions — Use ChatGPT (Codex), Claude, and Grok (X Premium) subscriptions as DeepSeek Harness LLM providers — OAuth logi 283 ★
- Kru — Local-first MCP password and credential manager for AI agents 125 ★
README
env2hell
An assistant runs an ordinary command like `env` — and every key and token you have is printed straight into the session, in plain text. Anyone with access to that conversation can read them. And it does not go away: the session is saved as a file on disk, indexed by memory tools, rolled into overnight digests. That is how keys leak.
env2hell denies those commands and gives the assistant a safe replacement. Works with Claude Code, Opencode and Codex, on Linux, macOS and Windows.
[Русская версия](README.RU.md)
Why
An app fails with an authorisation error. The developer asks the assistant to work out why the 401. It starts with the sensible thing — checking whether the key is set at all:
env | grep -i api
The check was right. But `grep` filters *lines*, and a line is `NAME=value`, so along with the answer "yes, it is set" the value itself is printed into the session. `cat .env` while looking at configuration ends the same way, and so does a plain `env` when comparing a local run against CI.
From there the line has a life of its own: the session is saved as a file on disk (Claude Code writes `.jsonl`), memory tools index it, digests are written overnight. One command like that costs a rotation of every key on the machine.
This is not hypothetical. It is where this repository came from: five tokens (Z.ai, DeepSeek, OpenRouter, Tavily, plus the assistant's own auth token) printed in full by a single command, in a session whose whole purpose was to name a model version.
Telling the model "don't do that" does not hold. Instructions are advice; this is a gate.
What you get
| Command | Purpose |
|---|---|
secrets-guard |
Denies a command before it runs. Assistants call it automatically. |
secrets-redact |
Masks a secret a command printed, before the model reads it. |
safe-env |
Prints the environment with secret values masked. What the model uses instead. |
Plus a rule file (`rules/secrets-hygiene.md`) installed into each
Related Skills
Motus
Keep API keys and tokens out of your AI coding agent. Redacts exact secret values from tool output and session
Chromeflow
Let your AI coding agent (Claude Code or Codex CLI) drive your real Chrome — clicks, fills forms, grabs API ke
Tokenstash
Your AI agent needs your API keys. It doesn't need to see them. tokenstash writes keys straight into .env.loca
Rapg
Local-first secret manager for the AI-agent era — keep API keys out of .env files and out of your agent transc
AI Credential Safety
Guide to protecting API keys and credentials from AI agent exposure — .env safety, secret scanning, and Secret
AI Keyword Research Agent
AI Keyword Research Automation — give your AI coding assistant one job: find N real keyword opportunities for
Related Agents
Info Disclosure
Information Disclosure specialist (H1 #18, CWE-200/209/215/538/668/798). Use for finding exposed sensitive dat
Credentials Manager
Gestiona credenciales del proyecto (.env, API keys, tokens, webhooks). Úsalo CADA VEZ que aparezcan credencial
Agent Of Empires
Claude Code, OpenCode, Mistral Vibe, Codex CLI, Gemini CLI Coding Agent Terminal Session manager via tmux and