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
- Graphify — AI coding assistant skill (Claude Code, Codex, OpenCode, OpenClaw, Factory Droid, Trae) 20.9k ★
- Vibeproxy — Native macOS menu bar app to use your Claude Code & ChatGPT subscriptions with AI coding tools - no API keys n 3.3k ★
- Botmux — Bridge Feishu/Lark to AI coding CLIs — Claude Code, Codex, Gemini, OpenCode… every DM, group or topic spawns i 1.2k ★
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
Chromeflow
Let your AI coding agent (Claude Code or Codex CLI) drive your real Chrome — clicks, fills forms, grabs API ke
AI Keyword Research Agent
AI Keyword Research Automation — give your AI coding assistant one job: find N real keyword opportunities for
Rapg
Local-first secret manager for the AI-agent era — keep API keys out of .env files and out of your agent transc
Devsandbox
Run AI coding agents in a per-project sandbox that keeps your real dev environment. Your shell, mise-managed t
Termmate
agentic AI coding assistant supporting claude code, ChatGPT codex, OpenCode and Pi coding agent; with API prov
AutoSearch
new Self-evolving deep research plugin for Claude Code -- 32 dedicated search channels (arXiv, GitHub, Reddit,
Related Agents
Agent Of Empires
Claude Code, OpenCode, Mistral Vibe, Codex CLI, Gemini CLI Coding Agent Terminal Session manager via tmux and
Session Error Analyzer
Analyzes specific AI IDE sessions (Claude Code, OpenAI Codex, OpenCode) for LLM behavior errors and returns a
Info Disclosure
Information Disclosure specialist (H1 #18, CWE-200/209/215/538/668/798). Use for finding exposed sensitive dat