Merge pull request 'fix: inject skipDangerousModePermissionPrompt into worktree settings (#514)' (#522) from fix/agent-session-skip-permissions into main

This commit is contained in:
johba 2026-03-21 20:54:02 +01:00
commit 0631b71aa5

View file

@ -59,6 +59,17 @@ create_agent_session() {
mkdir -p "${workdir}/.claude"
local settings="${workdir}/.claude/settings.json"
# Ensure bypass-permissions prompt is skipped in non-interactive sessions.
# Project-level settings override global ~/.claude/settings.json, so we must
# inject the flag here. Without it, Claude shows an interactive confirmation
# dialog that blocks all tmux-based agent sessions.
if [ -f "$settings" ]; then
jq '. + {skipDangerousModePermissionPrompt: true, permissions: {defaultMode: "bypassPermissions"}}' \
"$settings" > "${settings}.tmp" && mv "${settings}.tmp" "$settings"
else
printf '{"skipDangerousModePermissionPrompt":true,"permissions":{"defaultMode":"bypassPermissions"}}\n' > "$settings"
fi
# Install Stop hook for idle detection: when Claude finishes a response,
# the hook writes a timestamp to a marker file. monitor_phase_loop checks
# this marker instead of fragile tmux pane scraping.