Files
freno-dev/marketing/drafts/agent-keeps-asking/copy.md
fixture e12a063aa9 marketing: FRE-199 third pair of informational pages (drafts) + pitch narrowed to the no-figure shape
Pair 3 (internal target Thu 2026-11-12, six days early):
- agent-worktree-contention — 'How do you manage worktrees when your agents
  end up waiting on each other?' (backlog 1xlz2bs, Scan 6 #4); git worktree +
  Docker Compose project-name docs fetched and read 2026-11-05.
- agent-keeps-asking — 'Why does your coding agent keep stopping to ask you
  questions?' (handback cluster: 1xlfqmo, 1xk0ghj, 1xlxw0q); permission +
  hooks claims re-verified live 2026-11-05 against code.claude.com; the
  1xlfqmo poster's measurement figures deliberately not cited.

Pitch narrowed per CTO reopening verdict: trial→paid placeholder deleted
(FRE-202 cohort too young; ratio waits for FRE-197), second breakage chosen
(NOOK-815 uninvoked suite), any count named as activations, downloads never
quoted.
2026-11-05 22:54:53 +00:00

6.7 KiB
Raw Blame History

Why does your coding agent keep stopping to ask you questions?

Status: draft — awaiting sponsor fact-check (FRE-199 pair 3, internal target Thu 2026-11-12). Not publishable from drafts/. This page never names a product of ours and never names a competitor.

Most of the stopping is not the model being chatty — it is the permission system doing what it was told. In the default mode, the agent prompts before the first use of each tool; separately, its turn ends every time it finishes responding, and ending a turn with a question is finishing a turn. You cannot and should not eliminate every ask — but you can decide, once, which asks deserve an interruption and let the routine ones pass without you.

Where the asks come from

Permission gates. In the default mode the agent "prompts for permission on first use of each tool" — so every new tool, and often every new command shape, costs one prompt. The configuration decides who answers:

  • acceptEdits automatically accepts file edits and common filesystem commands (like mkdir, touch, mv, cp) for paths in your working directory — the single biggest ask category for most coding sessions, gone.
  • Permission rules do the fine work: deny rules block a tool outright, allow rules pass it silently, ask rules force the prompt. Order matters: rules are evaluated deny, then ask, then allow — the first match wins, and an allow rule cannot carve an exception out of a deny.
  • Modes set the floor. defaultMode in your settings picks where every new session starts. At the far end, bypassPermissions skips prompts entirely — the docs' own warning is that it belongs only in isolated environments like containers or VMs.

One fact worth internalising: permission rules are enforced by the coding agent's harness, not by the model. A line in your prompt asking it to "not ask" changes nothing about what it is allowed to do — the configuration is the only lever.

Turn ends. A Stop hook fires when the agent finishes responding — every turn, including the turns that end in a question. From the terminal's side of the glass, "it finished", "it's asking me something" and "it's waiting on a permission prompt" are the same silence. That is why the asking feels endless: each ask costs a context switch, and nothing distinguishes the asks from the completions.

Practitioners describe the pattern in their own words. A developer who measured why their sessions kept stopping found that the agent "just kept handing control back" even with a permissive mode already on — the model's own habit of ending turns to stay in the loop, on top of the permission asks. An operator running a team of agents with per-agent autonomy levels put the other side: "if every decision routes through you, you're the bottleneck agents were meant to eliminate."

What to check or do

  1. Sort the asks by kind before touching anything. File edits in your working directory: acceptEdits removes them wholesale. The same safe command every session: an allow rule. The commands that must never run: a deny rule. What is left is the set of questions only you can answer.
  2. Write the rules in the right order. Deny, then ask, then allow; first match wins. A broad deny stays broad — narrowing an allow elsewhere does not soften it.
  3. Keep the genuinely ambiguous asks. A mode that asks less is not a mode that asks smarter. bypassPermissions in a throwaway container is a documented pattern for unattended runs; using it on your daily machine is the docs' own caution, not a recommendation.
  4. Make every stop visible. Because every stop ends a turn, wire the turn-end and notification moments (the Stop and Notification hooks) so an ask reaches you where you actually are — and a permission wait is distinguishable from a finished job.

One next step: run one session with the asks tallied by kind — edits, known commands, everything else. The first two usually turn out to be rules you hadn't written yet; the third is the work.


Fact-check table (not part of the page)

Every technical claim above, with its primary source. Claims about the permission system and hooks were verified against the live docs on 2026-11-05.

# Claim in the page Source
1 Default mode "prompts for permission on first use of each tool" (labeled Manual; manual alias) Claude Code permissions doc — https://code.claude.com/docs/en/permissions (permission modes table; fetched 2026-11-05)
2 acceptEdits "automatically accepts file edits and common filesystem commands such as mkdir, touch, mv, and cp for paths in the working directory or additionalDirectories" same page (permission modes table)
3 Rules are evaluated in order deny, then ask, then allow; "the first match in that order determines the outcome"; "an allow rule can't carve an exception out of a deny rule" same page (rule precedence section)
4 bypassPermissions "skips permission prompts"; docs' caution: "Only use this mode in isolated environments like containers or VMs where Claude Code can't cause damage" same page (permission modes table)
5 defaultMode in settings files sets the default permission mode for new sessions same page ("To change the default permission mode for new sessions, set defaultMode in your settings files")
6 "Permission rules are enforced by Claude Code, not by the model. Instructions in your prompt or CLAUDE.md shape what Claude tries to do, but they don't change what Claude Code allows." same page (verbatim)
7 Stop fires when the agent finishes responding; hook cadence is per turn Claude Code hooks reference — https://code.claude.com/docs/en/hooks (verified 2026-11-05 in FRE-199 round 1; unchanged)
8 Anecdote: "it just kept handing control back"; sessions kept stopping with a permissive mode on r/ClaudeCode thread 1xlfqmo ("I measured why my Claude Code sessions kept stopping…", 2026-11-01, u/belovoj), logged in drafts/listening.md Scan 5 #1. Quoted as one developer's described experience; the thread's own measurement figures are deliberately not cited.
9 Anecdote: "if every decision routes through you, you're the bottleneck agents were meant to eliminate"; per-agent autonomy levels 0–5 r/ClaudeCode thread 1xk0ghj ("multiple agents working on multiple projects", 2026-10-31, quote by u/iceydee), logged in drafts/listening.md Scan 4 #2. One operator's described practice.

Ban compliance: no product of ours named · no competitor named · no superlatives · no benchmark numbers (the 1xlfqmo poster's measurement figures are deliberately not cited) · no invented testimonials (anecdotes are real threads, described without handles) · no price · no roadmap dates.