← AI開発 資料アーカイブ
環境構築セットアップ

CLIマルチアカウント切替手順(デジイナ/HORIZON LINK:gh・wrangler)

元ファイル: アカウント切替手順_デジイナ_HORIZON_LINK.md

要約

株式会社デジイナとHORIZON LINK PTE LTDの2法人アカウントを、gh CLIとCloudflare wranglerで毎回ログインし直さずに切り替える手順書。gh CLIはv2.40以降の複数認証同時保持を使い gh auth switch で1秒切替。wranglerはOAuthが1アカウントのみのため、各アカウントのAPI Tokenを発行し環境変数CLOUDFLARE_API_TOKENで切替する。.zshrcに切替関数(cf-dejiina等)を追記する方法を示す。

要点

アカウント切替ghwranglerCloudflareGitHubCLIマルチアカウント環境構築

アカウント切替手順 — 株式会社デジイナ / HORIZON LINK PTE LTD

CLI ツール(gh / wrangler)で2つの法人アカウントを毎回ログインし直さずに切り替える手順。

法人 メール 用途
株式会社デジイナ dejiina.works@gmail.com dejiina-agent-site / dejiinaworks-png
HORIZON LINK PTE LTD yahabaera007@gmail.com comicle-neo-gpt-site / yahabaera007

GitHub CLI(gh)— 完全マルチアカウント対応

gh CLI は v2.40 以降、複数アカウントの認証情報を同時に保持できる。

初回セットアップ(両アカウントを登録)

# デジイナアカウントを登録
gh auth login --hostname github.com --git-protocol https --web
# → ブラウザで dejiinaworks-png にログイン中の状態で device code を承認

# HORIZON LINK アカウントを追加登録(同じコマンドをもう1回)
gh auth login --hostname github.com --git-protocol https --web
# → ブラウザで yahabaera007 にログイン中の状態で device code を承認

日常の切替コマンド

gh auth status                              # 両アカウントの登録状況を確認
gh auth switch                              # 対話的に切替
gh auth switch --user yahabaera007          # HORIZON LINK へ切替
gh auth switch --user dejiinaworks-png      # デジイナへ切替

切替は再ログイン不要・1秒で完了する。


Cloudflare wrangler — API Token 方式で実質マルチ対応

wrangler の OAuth ログインは1アカウントしか保持できないが、環境変数 CLOUDFLARE_API_TOKEN が設定されていれば OAuth より優先される。これを使って切替する。

初回セットアップ — 各アカウントの API Token を発行

株式会社デジイナ用

  1. https://dash.cloudflare.com/profile/api-tokens を dejiina.works@gmail.com で開く
  2. Create TokenEdit Cloudflare Workers テンプレートを Use template
  3. Account Resources: Dejiina.works@gmail.com's Account
  4. Continue to summary → Create Token → 表示されたトークンをコピー
  5. Account ID も同ページ右側でコピー(dashboard右下の「Account ID」)
  1. 同じ手順で yahabaera007@gmail.com で開いて発行
  2. Account Resources: Yahabaera007@gmail.com's Account
  3. トークンとAccount IDをコピー

~/.zshrc に切替関数を追記

# ─── Cloudflare アカウント切替 ───────────────────────────────────
# 株式会社デジイナへ切替
cf-dejiina() {
  export CLOUDFLARE_API_TOKEN="(デジイナ用API Tokenをここに貼る)"
  export CLOUDFLARE_ACCOUNT_ID="(デジイナのAccount ID)"
  echo "→ Cloudflare: 株式会社デジイナ(dejiina.works)"
}

# HORIZON LINK PTE LTD へ切替
cf-horizon() {
  export CLOUDFLARE_API_TOKEN="(HORIZON LINK 用API Tokenをここに貼る)"
  export CLOUDFLARE_ACCOUNT_ID="(HORIZON LINK のAccount ID)"
  echo "→ Cloudflare: HORIZON LINK PTE LTD(yahabaera007)"
}

# 環境変数を解除して OAuth ログインのアカウントに戻す
cf-reset() {
  unset CLOUDFLARE_API_TOKEN CLOUDFLARE_ACCOUNT_ID
  echo "→ Cloudflare: OAuth ログインのアカウント"
}

# 現在の Cloudflare アカウントを確認
cf-whoami() {
  npx --prefix . wrangler whoami 2>&1 | grep -E "logged in|Account Name" | head -3
}

追記後、シェル再読み込み:

source ~/.zshrc

日常の使い方

cd ~/Desktop/ツール開発/HORIZON_LINK/comicle-neo-gpt-site
cf-horizon                                    # → HORIZON LINK モード
npx wrangler pages deploy public ...          # こちらのアカウントで実行される

cd ~/Desktop/ツール開発/12_デジイナエージェント/dejiina-agent-site
cf-dejiina                                    # → デジイナモード
npx wrangler pages deploy public ...          # 元のアカウントで実行される

プロジェクトを開くたびに自動切替したい場合(オプション)

direnv を使うと、ディレクトリに入った瞬間に自動で環境変数が切り替わる。

brew install direnv
echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc

# 各プロジェクトに .envrc を作成
cd ~/Desktop/ツール開発/HORIZON_LINK/comicle-neo-gpt-site
cat > .envrc <<'EOF'
export CLOUDFLARE_API_TOKEN="(HORIZON LINK 用Token)"
export CLOUDFLARE_ACCOUNT_ID="(HORIZON LINK のAccount ID)"
EOF
direnv allow

cd ~/Desktop/ツール開発/12_デジイナエージェント/dejiina-agent-site
cat > .envrc <<'EOF'
export CLOUDFLARE_API_TOKEN="(デジイナ用Token)"
export CLOUDFLARE_ACCOUNT_ID="(デジイナのAccount ID)"
EOF
direnv allow

これで cd するだけで自動切替される。

⚠️ .envrc には API Token が含まれるので、必ず .gitignore.envrc を追加しておく。


チートシート(日常コマンド)

# === 現在の状態確認 ===
gh auth status                              # GitHub の登録アカウント一覧
npx wrangler whoami                         # Cloudflare の現在アカウント
echo $CLOUDFLARE_API_TOKEN | head -c 10     # 環境変数が効いているか

# === GitHub 切替 ===
gh auth switch --user yahabaera007          # HORIZON LINK
gh auth switch --user dejiinaworks-png      # デジイナ

# === Cloudflare 切替 ===
cf-horizon                                  # HORIZON LINK
cf-dejiina                                  # デジイナ
cf-reset                                    # OAuth ログインに戻す

# === ペアで切替(よくある運用)===
cf-horizon && gh auth switch --user yahabaera007      # 全部 HORIZON LINK
cf-dejiina && gh auth switch --user dejiinaworks-png  # 全部 デジイナ

トラブルシューティング

症状 原因 対処
wrangler が想定と違うアカウントで動く CLOUDFLARE_API_TOKEN が空か、別のシェルで設定 cf-whoami で確認、必要に応じて cf-horizon / cf-dejiina を再実行
gh auth switch が「該当ユーザーがいない」エラー 当該アカウントを gh auth login で先に登録していない 上の「初回セットアップ」を実行
ブラウザの GitHub と CLI のアカウントがズレている ブラウザ側でログイン中のアカウントが違う https://github.com で右上アバターから切替してから gh auth login
OAuth Token の有効期限切れ wrangler の OAuth は数ヶ月で expire npx wrangler logout && npx wrangler login で再ログイン

参考

作成日: 2026-05-26

↑ トップへ戻る