인증
워커가 쓰는 장기 토큰은 Claude 전용입니다. 엔진이 codex 같은 다른 CLI인 워커는 토큰 파일을
보지도 않고 자체 인증을 씁니다. 어느 워커가 어느 엔진으로 도는지는 페르소나가 정합니다
(워커 §엔진과 모델은 페르소나가 정합니다).
브라우저로 인증하기
헤더 오른쪽 끝의 톱니를 누르면 설정이 열립니다. 왼쪽 트리의 인증 › claude가 이 장의
화면입니다. 위에서부터 이렇게 서 있습니다.
- 준비물 —
claude CLI —뒤에 앱이 찾은 실행파일 경로가 붙습니다. 못 찾았으면claude CLI를 찾지 못했습니다 — 워커가 세션을 띄우지 못합니다. - 계정 — 등록된 토큰이 한 줄로 섭니다. 알아볼 이름과 상태 배지, 앞뒤만 남기고 가린 값,
<날짜> 추가가 한 행입니다. 오른쪽 연필로 이름을 고치고 휴지통으로 지웁니다. 아직 넣은 것이 없으면등록된 토큰이 없습니다.한 줄뿐입니다. 추가버튼 — 목록 아래 버튼 하나입니다. 이미 토큰이 있으면 라벨이변경으로 바뀝니다. 누르면 발급과 직접 넣기가 한 팝오버에 같이 펼쳐집니다.
첫 줄이 못 찾았다고 하면 나머지는 소용이 없습니다. 토큰을 받는 것도, 워커가 티켓을 물고 세션을 여는 것도 그 실행파일이 하는 일입니다. 깔려 있는데도 못 찾는다면 앱을 껐다가 다시 여세요. 그래도 그대로면 설치로 돌아가시면 됩니다.
팝오버 위쪽의 브라우저로 인증하기를 누르면 앱이 공식 CLI의 발급 절차(claude setup-token)를
대신 밟습니다. 사람이 터미널에 칠 것은 없습니다. CLI가 새 탭을 띄우고, 진행 상황은 버튼 아래
로그로 한 줄씩 뜹니다.
- 브라우저가 코드를 보여주면 그 코드를
브라우저에서 받은 코드칸에 붙여 넣고코드 보내기를 누르세요. 승인만으로 끝나는 경우도 있습니다. 그 맥이 이미 claude.com에 로그인·동의된 상태면 코드 없이 흘러갑니다. 칸은 물을 때 답하는 자리입니다. - 토큰은 앱이 제자리에 저장합니다. 사람이 옮겨 적을 것이 없어서 진행 로그에서는 토큰을 가려서 보여줍니다. 화면 공유나 스크린샷에 원문이 남지 않습니다.
- 누르는 순간이 이미 발급입니다. 브라우저가 열렸다면 사용자의 claude.com 계정으로 자격증명이 만들어지는 흐름이 시작된 것이고, 되돌리는 자리는 없습니다.
- 깨지면 사유를 그대로 보여줍니다. 앱이 하는 일은 남의 CLI 화면을 읽는 것이라 그쪽 문구가 바뀌면 깨질 수 있습니다. 그때 바닥이 되는 것이 아래 칸입니다.
같은 팝오버 아래쪽 토큰 칸은 발급이 된 뒤에도 남아 있습니다. 이미 받아 둔 토큰을 붙여 넣고
저장을 누르면 같은 자리에 같은 권한으로 씁니다. 지금 쓰는 토큰이 방금 넣은 것으로 바뀝니다.
그 아래 라벨(선택)은 목록에서 알아볼 이름입니다. 비우면 계정 1처럼 순번이 붙습니다.
검증은 두 가지만 봅니다. 비어 있지 않은지, 값 안에 공백이나 개행이 섞이지 않았는지. 복사할 때
딸려 온 앞뒤 줄바꿈은 앱이 떼어냅니다. 접두사 형식으로는 거르지 않습니다. 그 형식은 우리 것이
아니고, 바뀌면 멀쩡한 토큰을 거부하게 됩니다. 그래서 화면은
저장했습니다. 유효한지는 다음 디스패치에서 드러납니다.까지만 말합니다.
알림 종 — 토큰이 없을 때 뜨는 첫 항목
"워커가 도는데 아무것도 안 한다"를 겪기 전에 화면이 먼저 말해 줍니다. 프로젝트 화면 헤더의
알림 종에 첫 항목으로 뜹니다. Claude 토큰이 없습니다 · 워커가 티켓을 집어도 세션을 못 열고 그대로 끝냅니다. 그 항목의 토큰 저장 버튼이 그 자리에서 위 다이얼로그를 엽니다. 화면을
옮길 일이 없습니다.
- 프로젝트 화면에서는 톱니 버튼 자체도 바뀝니다. 아이콘 옆에
인증 필요가 붙습니다. - claude 워커가 하나도 없는 프로젝트에는 안 뜹니다. 다만 워커를 못 읽었으면 띄웁니다. 판정 불가를 "괜찮다"로 바꿔 버리면 이 장이 닫으려는 침묵이 그대로 돌아오기 때문입니다.
- 닫는 버튼이 없습니다. 토큰이 놓이면 판정이 저절로 꺼집니다.
- 만료는 예고하지 못합니다. 만료 시각이 파일에 안 적혀 있고 CLI도 알려주지 않습니다. 대신
만료된 뒤의 침묵은 종의 다음 항목(
세션이 열리자마자 죽는 워커)이 깹니다. 화면 소개를 참고하세요.
클라우드 마운트 — 전체 디스크 접근 권한
큐 루트가 구글드라이브 같은 마운트에 있을 때만 해당합니다. macOS는 cron이 띄운 프로세스가 보호된 위치의 파일을 읽으려 하면 에러도 없이 조용히 막습니다. 파일이 없는 것처럼 보입니다.
설정 › 개인정보 보호 및 보안 › 전체 디스크 접근 권한을 여세요. 목록에 cron 자체는 뜨지
않으므로 +를 누른 뒤 Cmd+Shift+G로 /usr/sbin/cron을 직접 입력해 추가하시면 됩니다. 실제로
파일을 읽는 것은 워커 스크립트가 아니라 그걸 띄우는 cron 데몬이기 때문입니다. 켠 뒤에도 곧바로
반영되지 않을 수 있으니, 워커 화면에서 한 번 직접 돌려 큐가 제대로 보이는지 확인하세요.
앱 관리 — 워커를 만들 때마다 묻는 권한
워커를 추가하면 앱이 crontab에 줄을 쓰고, 그때 macOS가 앱 관리 권한을 묻습니다. 응답
전까지 등록은 멈춰 있고, 허용을 누르면 그 등록은 끝까지 갑니다. 문제는 이 승인이 다음
등록까지 남지 않는다는 것입니다. 워커를 하나 더 만들 때마다 같은 창이 또 뜹니다
(동시에 몇 개 돌릴까). 미리 켜 두거나 확인하는 자리는
설정 › 개인정보 보호 및 보안 › 앱 관리입니다.
앱 없이 — 엔진만 쓸 때
앱을 안 쓰고 tick.sh만 돌린다면 위 다이얼로그가 하는 일을 손으로 해야 합니다. 결과물은 똑같은
파일 하나입니다. 터미널을 열고 세 줄을 차례로 입력하세요.
mkdir -p ~/.config/dira
claude setup-token
printf %s '<토큰>' > ~/.config/dira/oauth-token && chmod 600 ~/.config/dira/oauth-tokenclaude setup-token이 낸 토큰을 ~/.config/dira/oauth-token에 개행 없이 한 줄로 적고
chmod 600으로 소유자만 읽게 잠그는 것입니다. 앱이 저장하는 자리와 같은 경로라, 어느 쪽으로
넣든 워커는 같은 파일을 읽습니다.
토큰은 머신 로컬에 하나만 둡니다. 큐 루트가 공유 드라이브에 있어도 ~/.config/dira는
동기되지 않는 이 머신만의 자리입니다. 큐를 옮기거나 공유해도 비밀이 같이 퍼지지 않는 까닭이
여기 있습니다. 워커를 여러 머신에서 돌린다면 머신마다 따로 받으셔야 합니다.
다음은 트러블슈팅입니다.