jpskill.com
💼 ビジネス コミュニティ

caam

AIコーディングCLI利用者が、定額料金で高速なアカウント切り替え、Vaultプロファイル、並行セッション分離、ヘルススコアリングに基づくスマートなアカウントローテーション、自動フェイルオーバーなどを実現し、TUIダッシュボードで管理するSkill。

📜 元の英語説明(参考)

Coding Agent Account Manager - Sub-100ms account switching for AI coding CLIs with fixed-cost subscriptions. Vault profiles, isolated profiles for parallel sessions, smart rotation with health scoring, cooldown tracking, automatic failover, TUI dashboard. Go CLI.

🇯🇵 日本人クリエイター向け解説

一言でいうと

AIコーディングCLI利用者が、定額料金で高速なアカウント切り替え、Vaultプロファイル、並行セッション分離、ヘルススコアリングに基づくスマートなアカウントローテーション、自動フェイルオーバーなどを実現し、TUIダッシュボードで管理するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o caam.zip https://jpskill.com/download/18640.zip && unzip -o caam.zip && rm caam.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18640.zip -OutFile "$d\caam.zip"; Expand-Archive "$d\caam.zip" -DestinationPath $d -Force; ri "$d\caam.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して caam.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → caam フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

CAAM — Coding Agent Account Manager

固定費のAIコーディングサブスクリプション(Claude Max、GPT Pro、Gemini Ultra)間で、アカウントを瞬時に切り替えるためのGo CLIです。レート制限に達した場合、ブラウザでのOAuthの煩雑な操作に30〜60秒かかる代わりに、約50msでアカウントを切り替えます。

これが存在する理由

あなたは固定費のAIコーディングサブスクリプションに月額200〜275ドルを支払っています。これらのプランには、課金上限ではなく、時間経過とともにリセットされるローリング使用制限があります。フローの途中で制限に達した場合:

問題点:

/login → ブラウザが開く → Googleからサインアウト → 別のGoogleにサインイン →
アプリを承認 → リダイレクトを待つ → ターミナルに戻る

これは30〜60秒の摩擦であり、複数のツールで1日に5回以上発生します。

解決策:

caam activate claude bob@gmail.com   # 約50ms、完了

ブラウザは不要。OAuthのダンスも不要。フロー状態の中断もありません。

仕組み

各AI CLIは、OAuthトークンをプレーンファイルに保存します。CAAMはそれらをバックアップして復元します。

~/.claude.json ←→ ~/.local/share/caam/vault/claude/alice@gmail.com/
~/.codex/auth.json ←→ ~/.local/share/caam/vault/codex/work@company.com/

それだけです。 デーモンもデータベースもネットワーク呼び出しもありません。単なる追加の手順を踏んだ cp です。

これが機能する理由

OAuthトークンはベアラートークンです。つまり、所有していることがアクセス権を意味します。CLIツールは、トークンファイルにすでに含まれている以上の情報を利用して、あなたのマシンを特定することはありません。ファイルを交換することは、認証されたセッションを「所有する」ことと同等です。

プロファイルの検出

caam statusコンテンツハッシュ を使用します。

  1. 現在の認証ファイルのSHA-256ハッシュを計算します
  2. すべてのvaultプロファイルと比較します
  3. 一致 = それがアクティブなプロファイルです

これは次のことを意味します。

  • 手動で切り替えた場合でも、プロファイルが検出されます
  • 同期が崩れる可能性のある隠れた状態ファイルはありません
  • 再起動後も正しく動作します

クイックスタート

# インストール
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_account_manager/main/install.sh?$(date +%s)" | bash

# 現在のアカウントをバックアップ
caam backup claude alice@gmail.com

# クリアして別のアカウントにログイン
caam clear claude
claude  # bob@gmail.com で /login
caam backup claude bob@gmail.com

# 瞬時に切り替え
caam activate claude alice@gmail.com   # < 100ms
caam activate claude bob@gmail.com     # < 100ms

# ステータスを確認
caam status

2つの動作モード

1. Vaultプロファイル(簡単な切り替え)

認証ファイルをその場で交換します。ツールごとに一度に1つのアカウントがアクティブになります。瞬時の切り替え。

caam backup claude work@company.com
caam activate claude personal@gmail.com

使用する場合: アカウントを順番に切り替えたい場合(最も一般的)。

2. 分離されたプロファイル(並列セッション)

複数のアカウントをディレクトリを完全に分離して 同時に 実行します。

caam profile add codex work@company.com
caam profile add codex personal@gmail.com
caam exec codex work@company.com -- "implement feature X"
caam exec codex personal@gmail.com -- "review code"

各プロファイルは、実際の .ssh.gitconfig などへのシンボリックリンクを持つ独自の $HOME および $CODEX_HOME を取得します。

使用する場合: 異なるターミナルで2つのアカウントを同時に実行する必要がある場合。

サポートされているツール

ツール サブスクリプション 認証ファイル
Claude Code Claude Max (月額200ドル) ~/.claude.json, ~/.config/claude-code/auth.json, ~/.claude/settings.json
Codex CLI GPT Pro (月額200ドル) ~/.codex/auth.json (または $CODEX_HOME/auth.json)
Gemini CLI Gemini Ultra (月額約275ドル) ~/.gemini/settings.json, ~/.gemini/oauth_credentials.json, ~/.gemini/.env

ツール固有の詳細

Claude Code (Claude Max)

  • ログイン: CLI内の /login
  • レート制限: 5時間のローリング使用量ウィンドウ
  • 注: 制限に達すると、レート制限のメッセージが表示されます。アカウントを切り替えて続行してください。

Codex CLI (GPT Pro)

  • ログイン: codex login または codex login --device-auth (ヘッドレス)
  • 注: CODEX_HOME を尊重します。CAAMは、cli_auth_credentials_store = "file"~/.codex/config.toml に書き込むことによって、ファイルベースの認証を強制します。

Gemini CLI (Google One AI Premium)

  • ログイン: gemini を起動し、「Googleでログイン」を選択するか、/auth を使用してモードを切り替えます
  • 注: OAuthキャッシュは oauth_credentials.json に保存され、APIキーモードでは .env を使用します。

コマンドリファレンス

認証ファイルの交換(プライマリ)

コマンド 説明
caam backup <tool> <email> 現在の認証ファイルをvaultに保存します
caam activate <tool> <email> vaultから認証ファイルを復元します(瞬時切り替え)
caam status [tool] 現在アクティブなプロファイルを表示します
caam ls [tool] vaultに保存されているすべてのプロファイルを一覧表示します
caam delete <tool> <email> 保存されたプロファイルを削除します
caam paths [tool] 各ツールの認証ファイルの場所を表示します
caam clear <tool> 認証ファイルを削除します(ログアウト状態)
caam uninstall オリジナルを復元し、caamのデータ/設定を削除します

エイリアス: caam switch および caam usecaam activate と同様に機能します

Activateオプション

フラグ 説明
--auto ローテーションアルゴリズムを使用して最適なプロファイルを選択します
--backup-current 切り替え前に現在の認証をバックアップします
--force プロファイルがクールダウン中でもアクティブにします

Uninstallオプション

フラグ 説明
--dry-run 復元/削除される内容を表示します
--keep-backups オリジナルを復元した後もvaultを保持します
--force 確認プロンプトをスキップします

スマートプロファイル管理

コマンド 説明
caam activate <tool> --auto ローテーションアルゴリズムを使用して最適なプロファイルを自動選択します
caam next <tool> ローテーションが選択するプロファイルをプレビューします
caam run <tool> [-- args] レート制限時の自動フェイルオーバーでCLIをラップします
caam cooldown set <provider/profile> プロファイルをレート制限されたものとしてマークします(デフォルト:60分)
caam cooldown list 残り時間とともにアクティブなクールダウンを一覧表示します
caam cooldown clear <provider/profile> プロファイルのクールダウンをクリアします
caam cooldown clear --all すべてのアクティブなクールダウンをクリアします
`caam project s
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

CAAM — Coding Agent Account Manager

A Go CLI for instant account switching between fixed-cost AI coding subscriptions (Claude Max, GPT Pro, Gemini Ultra). When you hit rate limits, swap accounts in ~50ms instead of 30-60 seconds of browser OAuth friction.

Why This Exists

You're paying $200-275/month for fixed-cost AI coding subscriptions. These plans have rolling usage limits—not billing caps, but rate limits that reset over time. When you hit them mid-flow:

The Problem:

/login → browser opens → sign out of Google → sign into different Google →
authorize app → wait for redirect → back to terminal

That's 30-60 seconds of friction, 5+ times per day across multiple tools.

The Solution:

caam activate claude bob@gmail.com   # ~50ms, done

No browser. No OAuth dance. No interruption to your flow state.

How It Works

Each AI CLI stores OAuth tokens in plain files. CAAM backs them up and restores them:

~/.claude.json ←→ ~/.local/share/caam/vault/claude/alice@gmail.com/
~/.codex/auth.json ←→ ~/.local/share/caam/vault/codex/work@company.com/

That's it. No daemons, no databases, no network calls. Just cp with extra steps.

Why This Works

OAuth tokens are bearer tokens—possession equals access. The CLI tools don't fingerprint your machine beyond what's already in the token file. Swapping files is equivalent to "being" that authenticated session.

Profile Detection

caam status uses content hashing:

  1. SHA-256 hash current auth files
  2. Compare against all vault profiles
  3. Match = that's what's active

This means:

  • Profiles are detected even if you switched manually
  • No hidden state files that can desync
  • Works correctly after reboots

Quick Start

# Install
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_account_manager/main/install.sh?$(date +%s)" | bash

# Backup current account
caam backup claude alice@gmail.com

# Clear and login to another account
caam clear claude
claude  # /login with bob@gmail.com
caam backup claude bob@gmail.com

# Switch instantly forever
caam activate claude alice@gmail.com   # < 100ms
caam activate claude bob@gmail.com     # < 100ms

# Check status
caam status

Two Operating Modes

1. Vault Profiles (Simple Switching)

Swap auth files in place. One account active at a time per tool. Instant switching.

caam backup claude work@company.com
caam activate claude personal@gmail.com

Use when: You want to switch between accounts sequentially (most common).

2. Isolated Profiles (Parallel Sessions)

Run multiple accounts simultaneously with full directory isolation.

caam profile add codex work@company.com
caam profile add codex personal@gmail.com
caam exec codex work@company.com -- "implement feature X"
caam exec codex personal@gmail.com -- "review code"

Each profile gets its own $HOME and $CODEX_HOME with symlinks to your real .ssh, .gitconfig, etc.

Use when: You need two accounts running at the same time in different terminals.

Supported Tools

Tool Subscription Auth Files
Claude Code Claude Max ($200/mo) ~/.claude.json, ~/.config/claude-code/auth.json, ~/.claude/settings.json
Codex CLI GPT Pro ($200/mo) ~/.codex/auth.json (or $CODEX_HOME/auth.json)
Gemini CLI Gemini Ultra (~$275/mo) ~/.gemini/settings.json, ~/.gemini/oauth_credentials.json, ~/.gemini/.env

Tool-Specific Details

Claude Code (Claude Max)

  • Login: /login inside CLI
  • Rate Limits: 5-hour rolling usage window
  • Notes: When you hit limits, you'll see rate limit messages. Switch accounts to continue.

Codex CLI (GPT Pro)

  • Login: codex login or codex login --device-auth (headless)
  • Notes: Respects CODEX_HOME. CAAM enforces file-based auth by writing cli_auth_credentials_store = "file" to ~/.codex/config.toml.

Gemini CLI (Google One AI Premium)

  • Login: Start gemini, select "Login with Google" or use /auth to switch modes
  • Notes: OAuth cache stored in oauth_credentials.json, API key mode uses .env.

Command Reference

Auth File Swapping (Primary)

Command Description
caam backup <tool> <email> Save current auth files to vault
caam activate <tool> <email> Restore auth files from vault (instant switch)
caam status [tool] Show which profile is currently active
caam ls [tool] List all saved profiles in vault
caam delete <tool> <email> Remove a saved profile
caam paths [tool] Show auth file locations for each tool
caam clear <tool> Remove auth files (logout state)
caam uninstall Restore originals and remove caam data/config

Aliases: caam switch and caam use work like caam activate

Activate Options

Flag Description
--auto Use rotation algorithm to pick best profile
--backup-current Backup current auth before switching
--force Activate even if profile is in cooldown

Uninstall Options

Flag Description
--dry-run Show what would be restored/removed
--keep-backups Keep vault after restoring originals
--force Skip confirmation prompt

Smart Profile Management

Command Description
caam activate <tool> --auto Auto-select best profile using rotation algorithm
caam next <tool> Preview which profile rotation would select
caam run <tool> [-- args] Wrap CLI with automatic failover on rate limits
caam cooldown set <provider/profile> Mark profile as rate-limited (default: 60min)
caam cooldown list List active cooldowns with remaining time
caam cooldown clear <provider/profile> Clear cooldown for a profile
caam cooldown clear --all Clear all active cooldowns
caam project set <tool> <profile> Associate current directory with a profile
caam project get [tool] Show project associations for current directory
caam tui Interactive TUI dashboard

Profile Isolation (Advanced)

Command Description
caam profile add <tool> <email> Create isolated profile directory
caam profile ls [tool] List isolated profiles
caam profile delete <tool> <email> Delete isolated profile
caam profile status <tool> <email> Show isolated profile status
caam login <tool> <email> Run login flow for isolated profile
caam exec <tool> <email> [-- args] Run CLI with isolated profile

Smart Profile Management

When you have multiple accounts across multiple providers, manually tracking which account has headroom becomes tedious. Smart Profile Management automates this decision-making.

Profile Health Scoring

Each profile displays a health indicator:

Icon Status Meaning
🟢 Healthy Token valid for >1 hour, no recent errors
🟡 Warning Token expiring within 1 hour, or minor issues
🔴 Critical Token expired, or repeated errors in last hour
Unknown No health data available yet

Health scoring combines:

  • Token expiry: Time until OAuth token expires
  • Error history: Recent authentication or rate limit errors
  • Penalty score: Accumulated issues with exponential decay (20% reduction every 5 minutes)
  • Plan type: Enterprise/Pro plans get slight scoring boosts

After ~30 minutes of no errors, penalty score returns to near zero.

Proactive Token Refresh

CAAM automatically refreshes OAuth tokens before they expire, preventing mid-session auth failures.

Smart Rotation Algorithms

When you run caam activate claude --auto:

Algorithm Description
smart (default) Multi-factor: cooldown state, health, recency (avoids last 30min), plan type, random jitter
round_robin Sequential rotation, skipping cooldown profiles
random Random selection among non-cooldown profiles

Configure in ~/.caam/config.yaml:

stealth:
  rotation:
    enabled: true
    algorithm: smart  # smart | round_robin | random
  cooldown:
    enabled: true     # Warn when activating cooldown profiles

Cooldown Tracking

When an account hits a rate limit, mark it so rotation skips it:

# Mark current Claude profile (default: 60 min cooldown)
caam cooldown set claude

# Specify profile and duration
caam cooldown set claude/work@company.com --minutes 120

# View active cooldowns
caam cooldown list

# Clear a cooldown early
caam cooldown clear claude/work@company.com

When stealth.cooldown.enabled: true, activating a profile in cooldown warns and prompts for confirmation. Use --force to bypass.

Automatic Failover with caam run

Wrap CLI execution with automatic rate limit handling:

caam run claude -- "explain this code"

# If Claude hits rate limit mid-session:
# 1. Current profile goes into cooldown
# 2. Next best profile selected via rotation
# 3. Command re-executed with new account

Options: | Flag | Default | Description | |------|---------|-------------| | --max-retries N | 1 | Maximum retry attempts | | --cooldown DURATION | 60m | Cooldown duration after rate limit | | --algorithm NAME | smart | Rotation algorithm | | --quiet | off | Suppress profile switch notifications |

Zero-friction aliases:

alias claude='caam run claude --'
alias codex='caam run codex --'
alias gemini='caam run gemini --'

Now claude "explain this" handles rate limits transparently.

Project-Profile Associations

Link profiles to project directories:

cd ~/projects/work-app
caam project set claude work@company.com

# Now whenever you're in this directory
caam activate claude  # Automatically uses work@company.com

Associations cascade: setting on /home/user/projects applies to all subdirectories unless a more specific association exists.

TUI shortcut: Press p to set the current profile as default for your working directory.

Preview Rotation Selection

$ caam next claude
Recommended: bob@gmail.com
  + Healthy token (expires in 4h 32m)
  + Not used recently (2h ago)

Alternatives:
  alice@gmail.com - Used recently (15m ago)

In cooldown:
  carol@gmail.com - In cooldown (45m remaining)

Useful for understanding rotation choices or scripting conditional logic.

Usage Analytics

CAAM tracks activation patterns and session durations across profiles, helping you understand usage distribution.

TUI Dashboard

Interactive terminal UI for visual profile management:

caam tui

TUI Features

  • Visual profile list with health indicators
  • Cooldown status display
  • Project associations in status bar
  • Hot reload: auto-refreshes when profiles are modified in another terminal

TUI Keybindings

Key Action
↑/↓ Navigate profiles
Enter Activate selected profile
p Set project association
c Mark/clear cooldown
r Refresh
q Quit

Vault Structure

~/.local/share/caam/
├── vault/                          # Saved auth profiles
│   ├── claude/
│   │   ├── alice@gmail.com/
│   │   │   ├── .claude.json        # Backed up auth
│   │   │   ├── auth.json           # From ~/.config/claude-code/
│   │   │   └── meta.json           # Timestamp, original paths
│   │   └── bob@gmail.com/
│   ├── codex/
│   │   └── work@company.com/
│   │       └── auth.json
│   └── gemini/
│       └── personal@gmail.com/
│           └── settings.json
│
└── profiles/                       # Isolated profiles (advanced)
    └── codex/
        └── work@company.com/
            ├── profile.json        # Profile metadata
            ├── codex_home/         # Isolated CODEX_HOME
            │   └── auth.json
            └── home/               # Pseudo-HOME with symlinks
                ├── .ssh -> ~/.ssh
                └── .gitconfig -> ~/.gitconfig

Workflow Examples

Daily Workflow

# Morning: Check what's active
caam status
# claude: alice@gmail.com (active)
# codex:  work@company.com (active)
# gemini: personal@gmail.com (active)

# Afternoon: Hit Claude usage limit
caam activate claude bob@gmail.com
claude  # Continue immediately with new account

Initial Multi-Account Setup

# 1. Login to first account using normal flow
claude  # /login → authenticate with alice@gmail.com

# 2. Backup the auth using email as profile name
caam backup claude alice@gmail.com

# 3. Clear and login to second account
caam clear claude
claude  # /login → authenticate with bob@gmail.com

# 4. Backup that too
caam backup claude bob@gmail.com

# 5. Switch instantly forever!
caam activate claude alice@gmail.com   # < 100ms
caam activate claude bob@gmail.com     # < 100ms

Parallel Sessions Setup

# Create isolated profiles
caam profile add codex work@company.com
caam profile add codex personal@gmail.com

# Login to each (one-time, opens browser)
caam login codex work@company.com
caam login codex personal@gmail.com

# Run simultaneously in different terminals
caam exec codex work@company.com -- "implement auth system"
caam exec codex personal@gmail.com -- "review PR #123"

Smart Rotation Workflow

# Let rotation pick the best profile
caam activate claude --auto
# Using rotation: claude/bob@gmail.com
# Recommended: bob@gmail.com
#   + Healthy token (expires in 4h 32m)
#   + Not used recently (2h ago)

# Hit a rate limit? Mark it
caam cooldown set claude
# Recorded cooldown for claude/bob@gmail.com until 14:30 (58m remaining)

# Next activation picks another profile automatically
caam activate claude --auto
# Using rotation: claude/alice@gmail.com

Zero-Friction Mode

# Add aliases to .bashrc/.zshrc
alias claude='caam run claude --'
alias codex='caam run codex --'

# Use tools normally
claude "explain this authentication flow"

# If rate limited mid-session, caam automatically:
# 1. Marks current profile as in cooldown
# 2. Selects next best profile via rotation
# 3. Re-runs command with new profile
# All transparent - you just see the output

Installation

# One-liner (recommended)
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_account_manager/main/install.sh?$(date +%s)" | bash

# From source
git clone https://github.com/Dicklesworthstone/coding_agent_account_manager
cd coding_agent_account_manager
go build -o caam ./cmd/caam
sudo mv caam /usr/local/bin/

# Go install
go install github.com/Dicklesworthstone/coding_agent_account_manager/cmd/caam@latest

Tips

  1. Use actual email as profile name — self-documenting, never forget which account
  2. Backup before clearing: caam backup claude current@email.com && caam clear claude
  3. Use --backup-current flag: caam activate claude new@email.com --backup-current
  4. Check status often: caam status shows what's active across all tools
  5. Don't sync vault across machines — auth tokens often contain machine-specific identifiers
  6. Use caam paths — if auth file locations change in tool updates, this shows current paths

FAQ

Q: Does this work with API keys? No. CAAM is for fixed-cost subscription plans (Claude Max, GPT Pro, Gemini Ultra) that use OAuth. API keys don't need switching—just use different keys.

Q: Is this against terms of service? No. You're using your own legitimately-purchased subscriptions. CAAM manages local auth files—it doesn't share accounts, bypass rate limits, or modify API traffic. Each account still respects its individual usage limits.

Q: What if the tool updates and changes auth file locations? Run caam paths to see current locations. If they change, we'll update CAAM. File an issue if you notice a discrepancy.

Q: Can I sync the vault across machines? Don't. Auth tokens often contain machine-specific identifiers (device IDs, etc.). Backup and restore on each machine separately.

Q: What's the difference between vault and isolated profiles?

  • Vault profiles (backup/activate): Swap auth in place, one account active at a time
  • Isolated profiles (profile add/exec): Full directory isolation, run multiple accounts simultaneously

Q: Will switching break running sessions? May cause auth errors in running CLI. Best practice: switch before starting a new session, not during.

Q: How do I know which account I'm currently using? Run caam status. It shows the active profile for each tool based on content hash matching.

Integration with Flywheel

Tool Integration
NTM Each tmux pane can use different account via isolated profiles
Agent Mail Agents can coordinate account switching across sessions
CASS Search sessions by account to track usage patterns
DCG No interaction (CAAM manages auth, DCG guards commands)