Возможности

Аккаунты по папкам

Автор: jhyunwoo
Обновлено 20 октября 2026 г.
Проверено с ccam 0.8.0 и Claude Code 2.1.302

Эта страница переведена с английского машинным способом. Исправления приветствуются. Редактировать эту страницу на GitHub

На этой странице

ccam folder work ~/code/company делает так, что каждый запуск без имени аккаунта внутри ~/code/company и в любой вложенной папке запускает Claude Code от имени work. За её пределами, как и раньше, запускается аккаунт по умолчанию. Если указать аккаунт, через 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 Учитывается: вывести изменение, не сохраняя его выкл.

Как это работает

Каждая папка — это одна запись [[folder]] в ~/.config/ccam/config.toml, файле, который каждый запуск читает в любом случае:

[[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 мс с записями и без них, 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 выбирает по ротации или по использованию и не смотрит на папки.