Skip to content

原文(日本語に翻訳)

/env がPowerShellツールのコマンドにも適用されるようになりました(以前はBashのみでした)。

原文(英語)

/env now applies to PowerShell tool commands (previously only affected Bash)

概要

Claude Codeの /env コマンドで設定した環境変数が、Bashツールだけでなく、PowerShellツールのコマンドにも適用されるようになりました。Windows環境でClaude Codeを使用している場合や、PowerShellを使ったスクリプト実行時にも、/env で設定した環境変数が確実に利用できます。

基本的な使い方

bash
# セッション内で環境変数を設定する
/env API_KEY=sk-xxxxxxxxxxxx
/env DATABASE_URL=postgresql://localhost/mydb
/env NODE_ENV=development

# 設定した環境変数はBashとPowerShell両方に適用される

PowerShellツールでの利用:

powershell
# PowerShell ツールでの環境変数の使用例
$env:API_KEY      # /env で設定したAPIキーが参照できる
$env:DATABASE_URL  # /env で設定したDBのURLが参照できる

# 修正前: /env の設定はBashにのみ反映されていた
# 修正後: PowerShell でも同じ環境変数が使える

実践例

APIキーの設定と利用

bash
# Claude Code で APIキーを設定
/env OPENAI_API_KEY=sk-proj-xxxxx
/env MY_API_KEY=your-secret-key-here

# Bashでの利用(従来通り動作)
echo $MY_API_KEY

# PowerShellでの利用(修正後: 動作するようになった)
# Claude に PowerShell でAPIを呼び出すよう依頼
claude "PowerShellを使ってMY_API_KEYを使ったAPIリクエストを作ってください"
powershell
# 生成されるPowerShellコード例
$apiKey = $env:MY_API_KEY  # /env で設定した値が使える
$headers = @{
    "Authorization" = "Bearer $apiKey"
    "Content-Type" = "application/json"
}
Invoke-RestMethod -Uri "https://api.example.com/data" -Headers $headers

Node.js開発環境の設定

bash
# 開発環境のセットアップ
/env NODE_ENV=development
/env PORT=3000
/env DATABASE_URL=postgresql://localhost/myapp_dev

# PowerShell でnpmコマンドを実行する場合も環境変数が引き継がれる
claude "npm run dev を PowerShellで実行してください"
# → npm run dev が実行される際に NODE_ENV=development が設定されている

Windowsでの.env代替としての利用

bash
# Windowsでは .env ファイルのオートロードが難しい場合がある
# /env コマンドで代替できる

/env DB_HOST=localhost
/env DB_PORT=5432
/env DB_NAME=myapp

# PowerShell スクリプトでこれらを使用
claude "PowerShellでデータベース接続スクリプトを実行してください"

注意点

  • /env で設定した環境変数はセッション中のみ有効です。セッションを終了すると失われます
  • 機密性の高い情報(APIキー、パスワードなど)をセッション内に保存する場合は注意してください
  • /env の設定はBashとPowerShellの両方に適用されますが、BashとPowerShellで環境変数の参照方法が異なります($VAR vs $env:VAR
  • システム環境変数と同名の変数を設定すると、システム変数が上書きされます

関連情報