fix: use bypassPermissions mode for headless SDK execution
In a Docker container without TTY, permissionMode 'default' blocks waiting for interactive permission prompts. Switch to bypassPermissions with canUseTool callback for programmatic risk-based access control. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
3a6f9d9447
commit
d40f66ce14
|
|
@ -107,7 +107,8 @@ export class ClaudeAgentSdkEngine implements AgentEnginePort {
|
||||||
maxBudgetUsd: params.maxBudgetUsd,
|
maxBudgetUsd: params.maxBudgetUsd,
|
||||||
env,
|
env,
|
||||||
abortController,
|
abortController,
|
||||||
permissionMode: 'default',
|
allowDangerouslySkipPermissions: true,
|
||||||
|
permissionMode: 'bypassPermissions',
|
||||||
canUseTool: async (toolName, toolInput, { signal }) => {
|
canUseTool: async (toolName, toolInput, { signal }) => {
|
||||||
const riskLevel = this.classifyToolRisk(toolName, toolInput);
|
const riskLevel = this.classifyToolRisk(toolName, toolInput);
|
||||||
|
|
||||||
|
|
@ -271,7 +272,8 @@ export class ClaudeAgentSdkEngine implements AgentEnginePort {
|
||||||
resume: sdkSessionId,
|
resume: sdkSessionId,
|
||||||
env,
|
env,
|
||||||
abortController,
|
abortController,
|
||||||
permissionMode: 'default',
|
allowDangerouslySkipPermissions: true,
|
||||||
|
permissionMode: 'bypassPermissions',
|
||||||
canUseTool: async (toolName, toolInput) => {
|
canUseTool: async (toolName, toolInput) => {
|
||||||
const riskLevel = this.classifyToolRisk(toolName, toolInput);
|
const riskLevel = this.classifyToolRisk(toolName, toolInput);
|
||||||
if (riskLevel <= CommandRiskLevel.LOW_RISK_WRITE) {
|
if (riskLevel <= CommandRiskLevel.LOW_RISK_WRITE) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue