{"collection":{"slug":"coding-agents","name":"Coding Agents"},"digest":{"id":"cwd_30-UZFBwsVMVsbt2sG1jf","weekStart":"2026-07-20","title":"Model routing, voice, and sandbox hardening dominate the week","intro":"Claude Code ships nested subagents and a strict sandbox allowlist, Cursor Router intelligently selects models for Auto mode, and Codex adds ChatGPT Voice and multi-folder projects — a week of architecture-level changes across the coding agent landscape.","body":"### Smarter execution, smarter routing\n\nThe most consequential shift this week is how agents decide *what* does the work. [Cursor's intelligent model router](/release/rel_WZFe_E5UqSTDa1q-uxxw7-cursor-router-launches-with-intelligent-model-routing-for-auto-mode) for Auto mode — Cursor Router — analyzes each request and sends it to the appropriate model, with three optimization modes (Intelligence, Balance, Cost) that let teams control the cost-intelligence tradeoff. Admin controls add per-team enablement, mode restrictions, and model allow/block lists, making this practical for organizations.\n\nMeanwhile, [Claude Code v2.1.219](/release/rel_bEMje-Q6fDpfOvwtess9F-claude-code-v2-1-219-adds-claude-opus-5-sandbox-allowlist-and-nested-subagents) introduces Claude Opus 5 as the default Opus model with 1M context, and subagents can now spawn nested subagents up to depth 3 (was 1). The combination of a larger context window and deeper nesting allows more complex multi-step workflows without round-tripping to the top-level agent. The same release also adds a `sandbox.network.strictAllowlist` setting that denies non-allowlisted hosts without prompting, a significant security hardening step.\n\n### Voice, projects, and cross-tool portability\n\n[Codex](/release/rel_-T6P0JBY6mAiRSRxuYQRO-openai-codex-adds-chatgpt-voice-and-multi-folder-local-projects) enters the voice era with ChatGPT Voice, powered by GPT-Live, available in the ChatGPT desktop app for Chat, Work, and Codex. You can start a chat or task in voice mode, then ask ChatGPT to coordinate work in other threads — a natural extension of the agent-as-orchestrator pattern. On macOS, Screen context shares an appshot of your frontmost window. Voice is available with all paid plans.\n\nThe same release adds multi-folder local projects, with a primary folder for new chats, Git operations, and automatic discovery. This addresses a longstanding pain point for projects that span multiple directories.\n\nThe [Codex CLI 0.145.0](/release/rel_s4X3gIZEJVMzOA7JKor01-codex-cli-release-0-145-0) adds experimental paginated thread history with efficient resume, search, and persisted names. More notably, its `/import` command now migrates Cursor and Claude Code settings, MCP servers, and plugins — a practical step toward interoperability that reduces switching costs between tools.\n\n### Reliability and security fixes across the ecosystem\n\nClaude Code had a particularly busy week of fixes. [v2.1.216](/release/rel_D99KJEDBR5PkyxExAiu93-claude-code-v2-1-216-fixes-quadratic-slowdown-in-long-sessions-and-oauth-token) fixed a quadratic slowdown in long sessions where message normalization cost grew with the number of turns, and an OAuth token expiry race that caused false \"HTTP 401\" errors. [v2.1.217](/release/rel_UkghbzT1ZTkoF9LcvmlyO-claude-code-v2-1-217-fixes-mcp-memory-leak-subagent-nesting-change-and-session) fixed an MCP memory leak where truncated tool outputs kept the full untruncated result in memory, and reversed the default on subagent nesting (it's now off by default, re-enabled with `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`). [v2.1.218](/release/rel_sML8SSdvtKzX7juqCjamI-claude-code-v2-1-218-fixes-pathedit-unicode-corruption-and-data-loss-arrow-key) fixed a Windows path corruption bug where `\\u`-prefixed segments were mangled into CJK characters, and a data-loss bug where the left arrow key could discard the conversation. The patchedit Unicode corruption fix alone is a critical fix for Windows users.\n\n[Devin's July 24 release](/release/rel_u_UjbV8zL1PVXTRfeLsgK-devin-july-24-2026-redesigns-model-picker-and-adds-oidc-identity-tokens) redesigned the model picker into a single organized menu, added OIDC identity tokens for cloud authentication, playbook previews, and Windows sessions with network access approvals from Slack. The [July 21 release](/release/rel_28CkoPn9Cz3-GW1RwlD_j-devin-july-17-release-centralized-plugin-management-multi-repo-code-scans-and) brought centralized plugin management for Skills, multi-repo code scans with per-repo details, and chained attack paths for related findings. The [July 23 release](/release/rel_vEVK8nfY4fnTwPFHRLUxM-devin-july-2026-adds-outposts-for-self-hosted-workloads-and-smarter-linear) added Devin Outposts for self-hosted workloads and smarter Linear thread handling.\n\n### A note on what didn't make the cut\n\nSeveral smaller releases — [Claude Code v2.1.220](/release/rel_y_asp8rM5s3mro_okbGH1-claude-code-v2-1-220-bug-fixes-and-reliability-improvements) (bug fixes only), [Devin July 10](/release/rel_v2jnEUdWdj97MuLoNfrFW-devin-july-10-update-redesigns-account-switcher-and-adds-copy-commands-from) (UI polish), and [Devin July 8](/release/rel_66Aco3sgJbyQx6j7mDrK0-devin-july-8-2026-redesigns-review-comment-composer-with-github-style-buttons) (comment composer redesign) — represent routine maintenance and incremental improvements. They're worth noting for completeness but don't change the week's narrative.","releaseIds":["rel_WZFe_E5UqSTDa1q-uxxw7","rel_bEMje-Q6fDpfOvwtess9F","rel_-T6P0JBY6mAiRSRxuYQRO","rel_s4X3gIZEJVMzOA7JKor01","rel_D99KJEDBR5PkyxExAiu93","rel_UkghbzT1ZTkoF9LcvmlyO","rel_sML8SSdvtKzX7juqCjamI","rel_u_UjbV8zL1PVXTRfeLsgK","rel_28CkoPn9Cz3-GW1RwlD_j","rel_vEVK8nfY4fnTwPFHRLUxM","rel_y_asp8rM5s3mro_okbGH1","rel_v2jnEUdWdj97MuLoNfrFW","rel_66Aco3sgJbyQx6j7mDrK0"],"releaseCount":13,"generatedAt":"2026-07-27T06:16:44.857Z","releases":[{"id":"rel_WZFe_E5UqSTDa1q-uxxw7","title":"Cursor Router launches with intelligent model routing for Auto mode","path":"/release/rel_WZFe_E5UqSTDa1q-uxxw7-auto-mode-now-powered-by-cursor-router","org":{"slug":"cursor","name":"Cursor"},"importance":4},{"id":"rel_bEMje-Q6fDpfOvwtess9F","title":"Claude Code v2.1.219 adds Claude Opus 5, sandbox allowlist, and nested subagents","path":"/release/rel_bEMje-Q6fDpfOvwtess9F-claude-opus-5-is-default-sandbox-allowlist-nested-subagents","org":{"slug":"anthropic","name":"Anthropic"},"importance":4},{"id":"rel_-T6P0JBY6mAiRSRxuYQRO","title":"OpenAI Codex adds ChatGPT Voice and multi-folder local projects","path":"/release/rel_-T6P0JBY6mAiRSRxuYQRO-chatgpt-voice-for-desktop-multi-folder-projects","org":{"slug":"openai","name":"OpenAI"},"importance":4},{"id":"rel_s4X3gIZEJVMzOA7JKor01","title":"Codex CLI Release: 0.145.0","path":"/release/rel_s4X3gIZEJVMzOA7JKor01-codex-cli-release-0-145-0","org":{"slug":"openai","name":"OpenAI"},"importance":null},{"id":"rel_D99KJEDBR5PkyxExAiu93","title":"Claude Code v2.1.216 fixes quadratic slowdown in long sessions and OAuth token expiry race","path":"/release/rel_D99KJEDBR5PkyxExAiu93-long-session-quadratic-slowdown-fixed-oauth-expiry-race-hardened","org":{"slug":"anthropic","name":"Anthropic"},"importance":3},{"id":"rel_UkghbzT1ZTkoF9LcvmlyO","title":"Claude Code v2.1.217 fixes MCP memory leak, subagent nesting change, and session isolation","path":"/release/rel_UkghbzT1ZTkoF9LcvmlyO-mcp-memory-leak-fixed-subagents-no-longer-spawn-nested-by-default","org":{"slug":"anthropic","name":"Anthropic"},"importance":3},{"id":"rel_sML8SSdvtKzX7juqCjamI","title":"Claude Code v2.1.218 fixes pathedit Unicode corruption and data-loss arrow key bug","path":"/release/rel_sML8SSdvtKzX7juqCjamI-windows-u-path-corruption-fixed-arrow-key-discard-halted","org":{"slug":"anthropic","name":"Anthropic"},"importance":3},{"id":"rel_u_UjbV8zL1PVXTRfeLsgK","title":"Devin July 24, 2026 redesigns model picker and adds OIDC identity tokens","path":"/release/rel_u_UjbV8zL1PVXTRfeLsgK-model-picker-redesigned-oidc-identity-tokens-added","org":{"slug":"cognition","name":"Cognition"},"importance":3},{"id":"rel_28CkoPn9Cz3-GW1RwlD_j","title":"Devin July 17 release: centralized plugin management, multi-repo code scans, and chained attack paths","path":"/release/rel_28CkoPn9Cz3-GW1RwlD_j-plugins-govern-skills-centrally-multi-repo-scans-ship","org":{"slug":"cognition","name":"Cognition"},"importance":3},{"id":"rel_vEVK8nfY4fnTwPFHRLUxM","title":"Devin July 2026 adds Outposts for self-hosted workloads and smarter Linear thread handling","path":"/release/rel_vEVK8nfY4fnTwPFHRLUxM-devin-outposts-ships-linear-threads-stay-in-correct-session","org":{"slug":"cognition","name":"Cognition"},"importance":3},{"id":"rel_y_asp8rM5s3mro_okbGH1","title":"Claude Code v2.1.220 bug fixes and reliability improvements","path":"/release/rel_y_asp8rM5s3mro_okbGH1-bug-fixes-and-reliability-improvements","org":{"slug":"anthropic","name":"Anthropic"},"importance":2},{"id":"rel_v2jnEUdWdj97MuLoNfrFW","title":"Devin July 10 update redesigns account switcher and adds copy commands from worklog","path":"/release/rel_v2jnEUdWdj97MuLoNfrFW-account-switcher-redesigned-worklog-commands-get-copy-button","org":{"slug":"cognition","name":"Cognition"},"importance":2},{"id":"rel_66Aco3sgJbyQx6j7mDrK0","title":"Devin July 8, 2026 redesigns review comment composer with GitHub-style buttons","path":"/release/rel_66Aco3sgJbyQx6j7mDrK0-review-comment-composer-redesigned-slack-env-configs-apply-inline","org":{"slug":"cognition","name":"Cognition"},"importance":2}]}}