Source: https://code.claude.com/docs/en/changelog (2.1.319, 2026-11-06) and https://code.claude.com/docs/en/headless (read 2026-11-07). Headless permissions: since Claude Code v2.1.302, claude -p starts in Manual mode when nothing sets a permission mode; a call that needs approval is DENIED unless a PermissionRequest hook, --permission-prompt-tool, --allowedTools or permissions.allow approves it. Read-only actions in the working dirs still run. --permission-mode dontAsk denies every call that would prompt; --permission-prompts none (v2.1.259+) denies unresolved prompts AND tells the model nobody can approve and not to retry; removes AskUserQuestion. stream-json reports permission_denied events and permission_denials in the result. Contrast: yoyo -p / piped auto-approves everything (auto_approve = config.auto_approve || !is_interactive); tracked as yoyo #1149 (decision for owner). 2.1.319 items with yoyo analogues: permissions.denyInsteadOfPrompting (deny-and-continue instead of waiting on a prompt, incl. subagents); MCP tasks moved to background with result reported on finish; PostToolUse hooks now run (10s budget) on tool calls that finish after an interrupt; after safeguards stop a subagent the parent is told to retry narrower or tell the user, not do the work itself; Bash asks before which with unusual flags; exact ask rule refused when a broader deny covers it. Other Nov 2026 CC themes (claude-world roundup v2.1.308-318): blockWritesOutsideWorkingDirectories, -p exits 1 when startup fails, ultrathink at xhigh, CLAUDE_CODE_SUBAGENT_EFFORT, shorter system prompt for unrecognized model names.