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 ToolZed
High-performance code editor built in Rust with native AI integration. Sub-millisecond input latency. Built-in assistant...
View ToolCursor
AI-native code editor forked from VS Code. Composer mode rewrites multiple files at once. Tab autocomplete predicts your...
View ToolRelated Videos

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...

Claude Code Loops in 7 Minutes
Claude Code “Loop” Scheduling: Recurring AI Tasks in Your Session The script explains Claude Code’s new “Loop” feature (an evolution of the Ralph Wiggins technique) for running recurring prompts that...
Related Posts

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...

12 Tools in One Night: An Honest Overnight Agent Report
I told an agent to improve the site every 10 minutes and went to sleep. Here is what 12 new repos, 60 PRs, and three goo...

Agent Replays with TraceTrail: Loom for Agent Runs
Agent runs are opaque. TraceTrail turns a Claude Code JSONL into a public share link with a stepped timeline of messages...
