Permission allowlist changes don't take effect mid-session — breaks scheduled/autonomous tasks

Resolved 💬 4 comments Opened Apr 26, 2026 by mischief901 Closed May 29, 2026

Problem

When a Claude Code session (especially a scheduled task running autonomously) hits a permission prompt for a tool, and the user/agent edits ~/.claude/settings.json to add the tool to permissions.allow, the new allowlist is not picked up by the running session. The session continues to prompt for the same tool until restarted.

This breaks the obvious recovery path: "fix the permissions and keep working."

Why this matters

The user case where this hurts most is scheduled tasks. A scheduled task runs without the user at the keyboard. If it hits a permission prompt:

  1. The task halts.
  2. Even if the user (or the agent itself) updates settings.json to allow that tool, the running session can't use it.
  3. The user has to fully restart Claude Code for the rule to take effect.
  4. By that point the scheduled-task context is gone.

The scheduled task therefore can't ever silently recover from a missing permission. Adding the rule mid-session does nothing.

Repro

  1. Have a scheduled-tasks MCP task that uses, e.g., mcp__yahoo-finance__get_historical_stock_prices and is not in the global allowlist.
  2. Let the task fire while you're away.
  3. Each tool call prompts. Approve them in-session.
  4. Add the tool to permissions.allow in ~/.claude/settings.json.
  5. Subsequent calls in the same session still prompt.

Expected

settings.json should be re-read (or watched) so allowlist additions take effect immediately for the running session.

Workaround

Restart Claude Code after editing settings — not viable for autonomous/scheduled runs.

Environment

  • Platform: Linux (Manjaro, kernel 6.18.12-1)
  • Claude Code via CLI
  • Scheduled tasks invoked via mcp__scheduled-tasks MCP

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗