テック技報最新号へ →
AIコーディング

Claude Code: CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR で、cd したあとも次のコマンドを元のフォルダから実行させる

Bash ツールで cd すると、その後のコマンドも移動先で動く。この環境変数を入れると、メインセッションの Bash/PowerShell は毎回元の作業フォルダに戻ってから次のコマンドを実行する。

@oswrav · 2026-11-09
#ai-coding#claude-code#設定#環境変数#bash

どんな時に使う?

  • モノレポで cd packages/api && npm test のあと、ルートで打つつもりの npm run lint が packages/api で走ってしまう
  • 相対パスで書いた後続コマンドが、いつの間にか別の場所を指していて事故になる
  • 「いまどこにいるか」を毎回 pwd で確かめさせる手間を省きたい

設定

シェルで起動時に渡すか、settings.json の env に書く。

bash
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1 claude
json
{
  "env": {
    "CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR": "1"
  }
}

仕様のポイント

  • 環境変数リファレンスの説明は「メインセッションの Bash/PowerShell コマンドのあと、元の作業フォルダに戻る」
  • 対象はメインセッションだけ(@oswrav の注記どおり)。サブエージェントの挙動を当てにしない
  • 1つのコマンドの中での cd(cd sub && make)はそのまま効く。戻るのはコマンドが終わったあと

注意点

出典

X の元の投稿を開く