Environment Variable Persistence - Claude Code
SessionStart hooks can persist env vars across Bash tool calls.
Environment variable persistence lets you set values once at session start and have them survive every subsequent Bash tool call.
What it does
Normally each Bash tool call gets a fresh shell - export FOO=bar in one call is gone in the next. A SessionStart hook can set env vars that Claude Code injects into every Bash invocation, so secrets from a vault, feature flags, or project-specific paths are always available. This is the clean alternative to hardcoding values in prompts.
When to use it
- Injecting API keys from a secret manager into every tool call.
- Pointing Claude at a specific Node, Python, or Ruby version.
- Setting project-specific env vars without committing them.
- Toggling debug flags for a whole session.
Gotchas
- The hook runs once per session. If the value changes mid-session, you have to restart.
- Large env payloads slow down every Bash call. Keep them lean.
- Hooks run in your environment with your permissions - treat them like any other secret-touching script.
Official docs: https://code.claude.com/docs/en/tools-reference.md#bash-tool-behavior
Technical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
Get the weekly deep dive
Tutorials on Claude Code, AI agents, and dev tools - delivered free every week.
Was this helpful?
Related Guides
Related Tools
Claude Code
Anthropic's agentic coding CLI. Runs in your terminal, edits files autonomously, spawns sub-agents, and maintains memory...
View ToolCodeburn
Interactive TUI dashboard that shows exactly where your Claude Code and Cursor tokens are going, in real time.
View ToolClaude Opus 4.7
Anthropic's flagship reasoning model. Best-in-class for coding, long-context analysis, and agentic workflows. 1M token c...
View ToolZed
High-performance code editor built in Rust with native AI integration. Sub-millisecond input latency. Built-in assistant...
View ToolRelated Videos

Nimbalyst: The Open-Source Visual Workspace for Building with Codex and Claude Code
Nimbalyst Demo: A Visual Workspace for Codex + Claude Code with Kanban, Plans, and AI Commits Try it: https://nimbalyst.com/ Star Repo Here: https://github.com/Nimbalyst/nimbalyst This video demos N...

Composio: Connect OpenClaw & Claude Code to 1,000+ Apps via CLI
Composio: Connect AI Agents to 1,000+ Apps via CLI (Gmail, Google Docs/Sheets, Hacker News Workflows) Check out Composio here: http://dashboard.composio.dev/?utm_source=Youtube&utm_channel=0426&utm_...

Claude Code Channels in 8 Minutes
Anthropic has released Channels for Claude Code, enabling external events (CI alerts, production errors, PR comments, Discord/Telegram messages, webhooks, cron jobs, logs, and monitoring signals) to b...
Related Posts

Claude Opus 4.8 Is an Agent Honesty Release
Claude Opus 4.8 looks like a benchmark bump, but the developer story is better honesty, dynamic workflows, and effort co...

Anthropic Sonnet 4.5 in Claude Code
Anthropic's Claude Sonnet 4.5 isn't just another model increment. The company claims they've observed it maintaining foc...

AI Code Attribution Needs Defect Forensics, Not Vibes
The rsync Claude debate shows why teams need reproducible defect forensics before AI attribution becomes a public blame...

Security Agents Need Repro Harnesses, Not More Scan Prompts
Anthropic's open-source vulnerability harness shows where AI security work is going: reproducible exploit loops, separat...

AI Agent Containment Needs a Capability Ledger
Anthropic's Claude containment writeup points to the next security layer for coding agents: deterministic capability led...

The Model, IDE, CLI, and Agent Framework Changes That Actually Matter
The AI coding market is noisy. The changes that matter are easier to spot when you separate model capability, editor loo...
