機能

フォルダーごとのアカウント

執筆:jhyunwoo
最終更新日: 2026年10月20日
ccam 0.8.0とClaude Code 2.1.302で確認済み

このページは英語から機械翻訳されています。修正を歓迎します。 GitHubでこのページを編集

このページの内容

ccam folder work ~/code/companyを実行すると、~/code/companyとその下のどのフォルダーでも、アカウント名を指定しない起動はすべてworkとしてClaude Codeを起動します。その外では、これまでどおりデフォルトのアカウントが起動します。ccam personalやccpersonalのようなショートカットでアカウントを指定した場合は、常にそのアカウントが起動します。

使い方

ccam folder work ~/code/company     # use work in ~/code/company and below
ccam folder personal                # use personal in the current folder
ccam folder                         # list the folders and the account used here
ccam folder --remove ~/code/company # stop using an account there
cd ~/code/company/api && ccam -p "summarise the open issues"   # runs as work
$ ccam folder work ~/code/company
✓ /home/me/code/company → work
  ccam without an account name starts work here and in every folder below.
$ cd ~/code/company/api && ccam folder
/home/me/code/company → work

Here (/home/me/code/company/api): work, set for /home/me/code/company

次の起動では、フォルダーのアカウントが使われます。

  • ccam -p "…"、および最初の引数がClaude Codeのオプションであるそのほかの起動
  • 名前なしのccam runと、ccam --dry-run
  • ccam --fallback -p "…"の最初の試行
  • ピッカー(ccam単体)。フォルダーのアカウントにカーソルを置いた状態で開きます

オプション

オプション 効果 デフォルト
<account> 使うアカウントの名前か番号
[folder] フォルダー(相対パスまたは絶対パス) 現在のフォルダー
--remove そのフォルダーちょうどのエントリーを削除します オフ
--dry-run 対応しています。変更を保存せずに表示します オフ

しくみ

各フォルダーは、~/.config/ccam/config.tomlの1つの[[folder]]エントリーです。このファイルは、どの起動でもいずれにせよ読み込まれます。

[[folder]]
path = '/home/me/code/company'
account = 'work'
  1. ccam folderは、フォルダーをシンボリックリンクを解決した絶対パスにして保存します。同じフォルダーをもう一度設定すると、そのアカウントが置き換わります。
  2. 名前なしの起動はlauncher.HereProfileを呼び出します。エントリーがなければ、すぐにデフォルトのアカウントを使います。
  3. エントリーがある場合は、作業ディレクトリを各pathと文字列として比較します。一致するのはそのフォルダー自体かその下のフォルダーだけで、同じ文字で始まるだけのフォルダーは一致しません(/code/companyは/code/companyxを含みません)。最も深いエントリーが優先されるので、~/codeをpersonalにしつつ、~/code/companyをworkにできます。
  4. 作業ディレクトリがそのままではどれにも一致しない場合に限り、ccamはそのシンボリックリンクを解決して、もう一度比較します。
  5. Windowsでは、Windowsと同じように、比較で大文字と小文字を区別しません。

config.toml以外のファイルは読まないので、フォルダー内での起動にかかる時間は測定できるほど増えません(エントリーの有無にかかわらず4.0 ms、hyperfine、300回)。

安全性と特殊なケース

  • ccam renameはフォルダーのエントリーを新しい名前に引き継ぎ、ccam removeは削除したアカウントのエントリーを削除します。
  • アカウントがもう存在しないエントリーがあると、そのフォルダーでの名前なしの起動は停止します: <folder> is set to account "<name>", which does not exist. Change it with ccam folder。ccam doctorは、そのようなエントリーと、フォルダーがなくなったエントリーを報告します。
  • 上のフォルダーからアカウントを受け継いでいるフォルダーの中でccam folder --removeを実行すると、何も削除せずに、その上のフォルダーを示します。
  • ccam nextはローテーションか使用量でアカウントを選び、フォルダーは考慮しません。