Warn that Auto falls back to prompting when unavailable
Secret Scan / scan (push) Successful in 4s
Build App (Preview) / compute-version (pull_request) Successful in 5s
Build App (Preview) / test (pull_request) Successful in 4m34s
Build App (Preview) / create-release (pull_request) Canceled after 0s
Build App (Preview) / build-linux (pull_request) Canceled after 0s
Build App (Preview) / build-macos (pull_request) Canceled after 0s
Build App (Preview) / build-windows (pull_request) Canceled after 0s
Build App (Preview) / prune-previews (pull_request) Canceled after 0s
Secret Scan / scan (pull_request) Canceled after 0s
Build Container / build-container (pull_request) Canceled after 5m30s

Claude Code starts in its prompting mode when auto isn't available for the
session's model or backend, so a headless Auto task can still stall. Say so
in the task editor, the task runner comment, and HOW-TO-USE.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-25 09:54:29 -07:00
co-authored by Claude Opus 5.5
parent 1a31cf4128
commit 99d8493008
4 changed files with 15 additions and 10 deletions
@@ -165,10 +165,11 @@ describe("TaskEditorModal", () => {
expect(screen.queryByText(/cannot answer a permission prompt/i)).toBeNull();
});
it("tells Auto mode that blocked actions are denied, not prompted", async () => {
it("tells Auto mode that blocked actions are denied, and warns of the fallback", async () => {
await renderEditor(null, { ...baseProject, permission_mode: "auto" });
expect(screen.queryByText(/cannot answer a permission prompt/i)).toBeNull();
expect(screen.getByText(/blocks are denied/i)).toBeInTheDocument();
expect(screen.getByText(/falls back to prompting/i)).toBeInTheDocument();
});
it("spells out the stall risk in any non-Bypass mode", async () => {
@@ -302,9 +302,10 @@ export default function TaskEditorModal({ project, task, onClose, onSaved }: Pro
<strong className="text-[var(--text-primary)]">{modeLabel}</strong>).
</p>
{mode === "auto" && (
<p className="text-xs text-[var(--text-secondary)]">
In Auto mode nothing prompts: actions the safety classifier blocks are denied and the
run carries on without them, so check the log if a task seems to have skipped a step.
<p className="text-xs text-[var(--warning)]">
In Auto mode, actions the safety classifier blocks are denied and the run carries on
without them. If Auto isn&rsquo;t available for this project&rsquo;s model or backend,
Claude Code falls back to prompting and the task may stall.
</p>
)}
{mode !== "bypass" && mode !== "auto" && (