설정 객체가 실행 계약이야
ClaudeAgentOptions에는 작업 디렉터리, 시스템 프롬프트, 허용 도구, MCP 서버, 훅, 모델, 최대 사고 토큰, 환경변수가 들어가. 자유로운 키워드 인자 주머니로 흩뜨리지 말고 타입이 있는 정책 구조체로 다뤄야 어떤 에이전트가 무엇을 할 수 있는지 한눈에 보여.
자주 쓰는 손잡이를 구분해
cwd는 작업 범위, system_prompt는 프리셋이나 직접 쓴 지침, allowed_tools는 허용 도구 목록, model은 Claude 티어를 정해. permission_mode는 default·acceptEdits·bypassPermissions·plan 중 고르고, mcp_servers와 hooks, env가 외부 능력과 실행 환경을 잇지.
bypassPermissions는 운영 기본값이 아니야
permission_mode='bypassPermissions'는 모든 권한 문을 없애. 이미 다른 검토를 통과한 신뢰 가능한 CI에는 쓸 수 있지만 사용자 요청을 받는 에이전트에는 위험해. 기본적으로 default나 파일 편집만 자동 승인하는 acceptEdits를 택하고, 우회가 꼭 필요하면 이유와 피해 범위를 기록해.
원칙: 에이전트 행동은 프롬프트 문구만이 아니라 Options 객체가 정한 정책의 결과야.