Blog

Notes on the agentic coding harnesses — what shipped, what changed, and what you can do with it.

Claude Code can deny permission prompts instead of waiting on themClaude Code 2.1.319 adds the permissions.denyInsteadOfPrompting setting. A tool call that would wait on a permission prompt is denied and the turn continues, in terminal sessions, subagents and teammates. Claude Code adds CLAUDE_CODE_DISABLE_FEATURE_FLAGS and changes auto mode when flags are offClaude Code 2.1.319 adds an environment variable that stops feature-flag fetching without turning off telemetry, and changes auto mode so that sessions with flags off no longer fall back to the built-in classifier unless you set CLAUDE_CODE_AUTO_MODE_SERVER=0. Claude Code runs MCP tasks in the backgroundClaude Code 2.1.319 supports MCP tasks in the terminal. When an MCP server runs a tool call as a task, Claude Code backgrounds it and reports the result when it finishes. Two environment variables turn this off. Claude Code's self-paced /loop now ends if an iteration doesn't rescheduleClaude Code 2.1.319 changes self-paced /loop so a turn that finishes without rescheduling ends the loop, instead of getting one fallback wakeup. Set CLAUDE_CODE_LOOP_KEEPALIVE=1 to keep the old behavior. Cursor CLI's Grep and Glob now search folders outside the workspaceSince Cursor CLI v2026.10.15, Grep and Glob search a folder outside your open workspace when the agent asks for one, instead of quietly searching the workspace and returning results from the wrong place. Antigravity CLI replaces Gemini CLI for individual accountsSince June 18, 2026, Gemini CLI no longer serves free or Google AI Pro and Ultra accounts; those users moved to Antigravity CLI. Gemini CLI continues for Gemini Code Assist enterprise customers, and The Loop now tracks Antigravity CLI instead. Cursor CLI post-tool hooks now fire for subagentsSince Cursor CLI v2026.10.17, postToolUse and postToolUseFailure hooks that match the Task tool run when a subagent finishes or fails, and hooks inside a subagent receive the subagent's own transcript path. Claude Code caps concurrent prompt and agent hooksVersion 2.1.312 limits prompt and agent hooks to 24 running at a time per session, subagents included, plus 12 that have waited past their event's timeout, and rounds any timeout under one second up to one second. Claude Code's ultrathink now runs the turn at xhigh effortVersion 2.1.311 changes the ultrathink keyword in the interactive terminal to run its turn at xhigh effort on Opus 5.5, Sonnet 5.5, Haiku 5.5, and Fable 5.1 through Anthropic's API, and only highlights the word where it can actually raise effort. claude ultrareview now requires workspace trustClaude Code 2.1.309 makes the claude ultrareview subcommand ask for workspace trust before it runs. CI jobs and scripts now need the new --trust-workspace flag, or an environment variable, or they exit with an error. Claude Code adds a sandbox setting for tools that need user namespacesVersion 2.1.305 adds sandbox.allowNestedUserNamespaces so sandboxed commands on Linux and WSL2 can create user namespaces, which Chromium and nested bubblewrap need. It also lets commands escape the sandbox's file protections, so it only belongs in user settings. Claude Code lets you pick the auto mode classifier's modelVersion 2.1.302 adds CLAUDE_CODE_AUTO_MODE_MODEL to choose the model that reviews actions in client-side auto mode, and 2.1.301 and 2.1.302 add classifier fields to OpenTelemetry tool_decision events so classifier blocks can be told apart from permission rules. Claude Code now validates the updatedInput your hooks returnIn v2.1.300, updatedInput from PreToolUse and PermissionRequest hooks is checked like Claude's own tool input. Unknown keys are dropped, and input the tool rejects denies the call. Claude Code compacts idle conversations before the prompt cache expiresSince v2.1.299, a long Claude Code terminal session you walk away from is compacted about 54 minutes in, just before the one-hour prompt cache lapses. A setting and an environment variable control it. Cursor CLI's Auto-review now asks before deletes that may resolve elsewhereCursor CLI v2026.10.08 makes Auto-review request approval for recursive, force, wildcard, or mirror deletes whose target could resolve differently than written, such as an unset variable or a stray space. Claude Code hooks can now fail closed with onFailureVersion 2.1.295 adds onFailure to command and HTTP hooks. Set it to block and a hook that can't start, times out, or exits with an unexpected code stops the action instead of letting it through. Claude Code now asks every local MCP server for the 2026-07-28 protocolVersion 2.1.292 makes Claude Code negotiate MCP protocol revision 2026-07-28 with local stdio servers by default on every install, including Bedrock, Vertex, and Foundry, and remembers slow servers for seven days. MCP_PROTOCOL_NEGOTIATION=legacy opts out. Claude Code adds a setting that caps effort level on every providerVersion 2.1.267 adds maxEffortLevel, which caps the low-to-max effort ladder for a model or every model, holds on Bedrock, Vertex, and Foundry as well as first-party accounts, and joins a short list of settings where the strictest value from any scope always wins. Claude Code stops WebFetch from hanging forever on a stuck serverVersion 2.1.268 fixes WebFetch hanging indefinitely when a server keeps the response open without finishing, giving every fetch a 5-minute deadline that CLAUDE_CODE_WEBFETCH_DEADLINE_MS can override or, set to 0, remove. Claude Code adds a --restricted flag for shared and unattended machinesVersion 2.1.248 adds claude --restricted, which strips out command- and code-running tools, confines file tools to the working directory, ignores local settings files, and refuses bypassPermissions, for evaluation harnesses and CI boxes you don't fully control.