All updates from 7 AI coding tools at a glance
May 27, 2026
/approve commands. (#85894, #85952, #85477)May 27, 2026
/approve commands. (#85894, #85952, #85477)May 27, 2026
## Core
### Improvements
- Added headerTimeout config for provider requests, with a 10s default for default OpenAI setups.
- Experimental background agents now push updates without polling.
- You can now set only modalities.input or modalities.output in config. (@robposch)
- Remote-backed projects now resolve a stable project identity.
### Bugfixes
- Dynamically added MCP servers now disconnect cleanly when removed.
- DigitalOcean inference now uses your OAuth token directly instead of creating a MAK. (@Spherrrical)
- Config loading now falls back cleanly when user info is unavailable.
- Fixed Google tool calling after the upstream tool ID regression.
- Experimental flags can now override the umbrella experimental flag.
- Resumed sessions no longer continue orphaned interrupted tools. (@edevil)
- OpenAI reasoning summaries now render as separate blocks.
- Updated Google Vertex support for reasoning signatures.
- The shell tool now advertises your configured timeout to the model.
## TUI
### Improvements
- Made the prompt resize with terminal width and added prompt size config. (@bjschafer)
### Bugfixes
- Accelerated diff viewer scrolling.
- External editors now open from the worktree directory when available.
## Desktop
### Improvements
- Refined the Desktop v2 home screen, prompt, status popover, and session controls.
### Bugfixes
- Fixed V2 titlebar errors when a session sync cache was deleted. (@Eric-Guo)
- Web deployments no longer run desktop health checks.
- Duplicate server connections are now merged in the server list.
- Stabilized virtualized session timeline interactions.
- Fixed the white flash when restoring the desktop window.
## Extensions
### Improvements
- Added a dispose hook for plugins.
### Bugfixes
- Fixed Codex plugin requests to send the expected session ID header.
Thank you to 7 community contributors:
- @jerome-benoit:
- fix(nix): re-inherit patches in desktop, ad-hoc sign .app on darwin (#27869)
- @edevil:
- fix(session): exclude orphaned interrupted tools from run-loop continuation (#26178)
- @bjschafer:
- feat(tui): make prompt size responsive and configurable (#28255)
- @robposch:
- tweak (config): make modalities input/output fields optional so that u can specify one without both being required (#29268)
- @Eric-Guo:
- fix(app): handle deleted session sync cache in V2 titlebar (#29328)
- @StarpTech:
- docs(web): update LSP docs wording (#29435)
- docs: add tip to lsp section (#29444)
- @Spherrrical:
- fix(digitalocean): use OAuth token directly for inference instead of creating MAK (#28897)
May 27, 2026
/code-review --fix now applies review findings to your working tree after the review, surfacing reuse, simplification, and efficiency suggestions; /simplify now invokes /code-review --fixdisallowed-tools in frontmatter to remove tools from the model while the skill is active/reload-skills command to re-scan skill directories without restarting the sessionSessionStart hooks can now return reloadSkills: true to re-scan skill directories, making skills installed by the hook available in the same sessionSessionStart hooks can now set the session title via hookSpecificOutput.sessionTitle on startup and resumeMessageDisplay hook event that lets hooks transform or hide assistant message text as it is displayedpluginSuggestionMarketplaces managed setting: admins can allowlist org marketplaces whose plugins may be suggested via context-aware tipsclaude plugin marketplace remove now accepts --scope user|project|local for symmetry with marketplace add, install, and uninstall--fallback-model for the rest of the session when the primary model is not found, instead of failing every request/ in NORMAL mode now opens reverse history search (like Ctrl+R), matching bash/zsh vi-mode/usage breakdown now includes large session files; files are scanned with a streaming read so memory usage stays flatCtrl+O shows the full thinking)app.entrypoint, opt-in via OTEL_METRICS_INCLUDE_ENTRYPOINT=true)/doctor reporting "marketplace not found" or "plugin not found" for stale enabledPlugins entries referencing removed marketplaces or dropped plugins--bare or with attachments disabledclaude agents when accepting a stale permission prompt after a subagent was cancelledcache_creation_input_tokens reporting as 0 in transcript and result usage when the API reports cache writes only via the nested cache_creation breakdownMay 26, 2026
/approve commands. (#85894, #85952, #85477)May 26, 2026
--profile the primary profile selector across CLI, TUI permissions, and sandbox flows, with legacy profile configs rejected through migration guidance. (#23708, #23883, #23890, #24051, #24055, #24059, #24067, #24110)$ref/$defs structures and compacting oversized schemas before exposure. (#23357, #23904)readOnlyHint. (#23750)just test over direct cargo test for repo-local test runs. (#23910)May 26, 2026
~/Library/Messages/Attachments (including wildcard roots) are read through the existing inbound path policy instead of being rejected as path-not-allowed. Fixes #30170. (#86569)channels.imessage.accounts lists both default and a named account pointing at the same local Messages source, preventing duplicate imsg rpc processes and doubled inbound replies while leaving duplicate accounts usable for outbound sends/status. Fixes #65141. (#86705)apk Node.js, npm, and Git packages on musl Linux instead of downloading glibc Node tarballs that fail node:sqlite.--json stdout.apk on Alpine Linux instead of falling through to the NodeSource package-manager path.test:max and test:changed:max through a Node wrapper so high-worker Vitest entrypoints work on native Windows.May 25, 2026
May 24, 2026
👍 (Like tapback) resolves an approval as allow-once and 👎 resolves as deny, with the explicit-approver allowlist read from channels.imessage.allowFrom; allow-always stays on the manual /approve <id> allow-always text fallback. Mirrors the WhatsApp behavior from #85477.USER.md/SOUL.md files.agents.defaults.imageQuality preference for choosing token-efficient, balanced, or high-detail media handling.openclaw meeting-notes CLI access, and Discord voice as the first live source.configPath, Telegram wildcard topic defaults, local-time backup archive names, Termux home fallback, include-path validation, secret-scanner-safe placeholder guidance, Gemini CLI/Antigravity media guidance, and macOS VM auto-login guidance. Thanks @NorseGaud, @yudistiraashadi, @huangqian8, @VibhorGautam, @maweibin, @tianxingleo, @IgnacioPro, and @xzcxzcyy-claw.May 24, 2026
USER.md/SOUL.md files.agents.defaults.imageQuality preference for choosing token-efficient, balanced, or high-detail media handling.openclaw meeting-notes CLI access, and Discord voice as the first live source.configPath, Telegram wildcard topic defaults, local-time backup archive names, Termux home fallback, include-path validation, secret-scanner-safe placeholder guidance, Gemini CLI/Antigravity media guidance, and macOS VM auto-login guidance. Thanks @NorseGaud, @yudistiraashadi, @huangqian8, @VibhorGautam, @maweibin, @tianxingleo, @IgnacioPro, and @xzcxzcyy-claw.May 24, 2026
openclaw meeting-notes CLI access, and Discord voice as the first live source.configPath, Telegram wildcard topic defaults, local-time backup archive names, Termux home fallback, include-path validation, secret-scanner-safe placeholder guidance, Gemini CLI/Antigravity media guidance, and macOS VM auto-login guidance. Thanks @NorseGaud, @yudistiraashadi, @huangqian8, @VibhorGautam, @maweibin, @tianxingleo, @IgnacioPro, and @xzcxzcyy-claw.May 23, 2026
AGENTS.md and TOOLS.md, keeping persona, identity, user, memory, heartbeat, and setup files out of delegated workers by default. (#85283) Thanks @100yenadmin.openclaw-landable-bug-sweep so bugbash sweeps stay focused on small paper-cut fixes.docker and blacksmith. (#85302) Thanks @hxy91819.openclaw-landable-bug-sweep for producing five small, reviewed, CI-green OpenClaw bugfix PRs from issue/PR sweeps.May 22, 2026
/usage now shows a per-category breakdown of what's driving your limits usage — skills, subagents, plugins, and per-MCP-server cost/diff detail view can now be scrolled with the keyboard (arrows, j/k, PgUp/PgDn, Space, Home/End)- [ ] todo / - [x] done) instead of plain bulletsallowAllClaudeAiMcps managed setting to load claude.ai cloud MCP connectors alongside managed-mcp.jsoncd functions (cd.., cd\, cd~, X:) changed the working directory undetected, letting a later command read outside the workspace.git directory (with hooks/ and config denied)PowerShell(dotnet.exe build *)) not pre-approving native executables and scriptsPWD/OLDPWD/DIRSTACK across cd/pushd/popdfind in the Bash tool exhausting the macOS system file/vnode table and crashing the host on large directory trees/ultraplan and remote session creation failing with "Could not capture uncommitted changes" when the working tree has no real changesotelHeadersHelper failing silently when the script path contains spaces; helper failures are now reported in /doctor and the debug logname: differs from its directory basename/effort setting instead of the effort level applied by skill/agent effort: frontmatter/config exit summary reporting phantom changes to auto-compact and theme when toggling unrelated settings/insights crashing when cached session-meta files are missing optional fieldsclaude --resume/feedback reports to include the conversation that happened before context compaction, making issues from earlier in long sessions easier to triageMay 22, 2026
us and eu multi-region setups. (@JPFrancoia)May 22, 2026
May 21, 2026
cat SKILL.md && printf ... && <skill-wrapper> allowlist compatibility path so skill files must be loaded with the read tool and only the real skill executable is auto-allowed.IDENTITY.md, USER.md, and SOUL.md profile context in realtime voice session instructions by default, with voice.realtime.bootstrapContextFiles: [] available to disable it. (#84499) Thanks @fuller-stack-dev.@openai/codex 0.132.0 and refresh the app-server model-list docs for the new catalog.agents.list[].experimental.localModelLean so lean local-model mode can be enabled for one configured agent instead of globally.params.provider routing policy for OpenRouter requests, with model and agent params overriding the defaults. Thanks @amknight.openclaw tasks maintenance --json so retained and reconcile candidates explain backing-session, cron, CLI, and wedged-subagent state. (#84691) Thanks @efpiva.durationSeconds control and remove prompt-injected duration hints, so music_generate reports MiniMax duration as an unsupported override instead of suggesting MiniMax can enforce track length. Fixes #84508. Thanks @neeravmakwana.7.0.0-rc12.rolldown-plugin-dts:fake-js CommonJS dts warnings emitted while bundling the intentionally-inlined zod/v4/locales/*.d.cts files, so pnpm build output stays readable after the 0.25.1 plugin bump. Thanks @romneyda.openclaw nodes commands so stdout stays parseable. (#84684) Thanks @TurboTheTurtle.May 21, 2026
Ctrl+T in claude agents) now stay alive when idle, are restarted in place to apply Claude Code updates, and are shed under memory pressure only after non-pinned sessions/simplify to /code-review. It now reports correctness bugs at a chosen effort level (e.g., /code-review high); pass --comment to post findings as inline GitHub PR comments. The old cleanup-and-fix behavior has been removedforceLoginOrgUUID and forceLoginMethod managed-settings) not being enforced against third-party-provider and API-key sessions& in ! command output displaying as &, which broke copy-pasting URLs from commands like gcloud auth login on headless machines/help rendering a broken tab header and showing only one command per page on small terminals when not in fullscreen modeAgent(...) types in tools: frontmatter dropping all but the last entryif conditions like PowerShell(git push*) never matching — only PowerShell(*) workedpwsh is installed via winget or the Microsoft Store/effort opening with the slider on the wrong level — it now starts at your current effort/background refusing sessions whose only typed input was a skill or custom slash commandAskUserQuestion when the user or a skill explicitly relies on it; the auto-mode classifier now sees the user's answers as intent signal/theme "New custom theme" and color editor dialogs not responding to Esc[Pasted text #N] placeholder instead of the actual contentclaude plugin details and /plugin being doubled when a plugin's manifest listed paths overlapping its default directoriesCLAUDE_CODE_SUBAGENT_MODEL not applying to teammate processes spawned by agent teams/plugin, /status, /mobile, /sandbox, and /permissions menusMay 21, 2026
codex remote-control now runs like a foreground command, waits for readiness, reports machine status, and keeps explicit daemon-style start/stop commands. (#22878)requirements.toml support, runtime refresh behavior, and stronger Windows sandbox integration. (#22928, #23412, #22270, #23433, #22931, #23715)May 21, 2026
cat SKILL.md && printf ... && <skill-wrapper> allowlist compatibility path so skill files must be loaded with the read tool and only the real skill executable is auto-allowed.IDENTITY.md, USER.md, and SOUL.md profile context in realtime voice session instructions by default, with voice.realtime.bootstrapContextFiles: [] available to disable it. (#84499) Thanks @fuller-stack-dev.@openai/codex 0.132.0 and refresh the app-server model-list docs for the new catalog.agents.list[].experimental.localModelLean so lean local-model mode can be enabled for one configured agent instead of globally.params.provider routing policy for OpenRouter requests, with model and agent params overriding the defaults. Thanks @amknight.openclaw tasks maintenance --json so retained and reconcile candidates explain backing-session, cron, CLI, and wedged-subagent state. (#84691) Thanks @efpiva.durationSeconds control and remove prompt-injected duration hints, so music_generate reports MiniMax duration as an unsupported override instead of suggesting MiniMax can enforce track length. Fixes #84508. Thanks @neeravmakwana.7.0.0-rc12.rolldown-plugin-dts:fake-js CommonJS dts warnings emitted while bundling the intentionally-inlined zod/v4/locales/*.d.cts files, so pnpm build output stays readable after the 0.25.1 plugin bump. Thanks @romneyda.openclaw nodes commands so stdout stays parseable. (#84684) Thanks @TurboTheTurtle.May 21, 2026
UnknownError responses with log reference IDs when stored messages are corrupt.503 ServiceUnavailableError for mutations that are not available yet.SessionNotFoundError for missing sessions.May 21, 2026
IDENTITY.md, USER.md, and SOUL.md profile context in realtime voice session instructions by default, with voice.realtime.bootstrapContextFiles: [] available to disable it. (#84499) Thanks @fuller-stack-dev.@openai/codex 0.132.0 and refresh the app-server model-list docs for the new catalog.agents.list[].experimental.localModelLean so lean local-model mode can be enabled for one configured agent instead of globally.params.provider routing policy for OpenRouter requests, with model and agent params overriding the defaults. Thanks @amknight.7.0.0-rc12.@openclaw/fs-safe to 0.2.7 so OpenClaw's default Python-helper-off policy keeps best-effort Node write fallbacks for private stores, secret writes, run logs, and media attachments on Linux/macOS.models.providers.*.models[*].compat.thinkingFormat values during doctor --fix so stale provider model config can validate after upgrade. Fixes #77803.agents.defaults.model.primary.May 20, 2026
run prompt.run.opencode login now defaults to https://console.opencode.ai.OPENCODE_PERMISSION JSON no longer crashes startup.args no longer break tool loading.May 20, 2026
@openclaw/proxyline to 0.3.3.OPENCLAW_IMAGE_APT_PACKAGES as the runtime-neutral image build arg for extra apt packages while keeping OPENCLAW_DOCKER_APT_PACKAGES as a legacy fallback. (#62431) Thanks @urtabajev./readyz sidecar gating. (#83301) Thanks @samzong.autoreview while preserving the Codex-first fallback behavior.openclaw skills install and openclaw skills update to target shared managed skills with --global. (#74466) Thanks @Marvae.blockedByDialog when an action opens a modal, and allow browser dialog --dialog-id to answer pending dialogs.openclaw browser evaluate --timeout-ms so long-running page functions can extend both the evaluate action and request timeout budgets. (#83447) Thanks @eefreenyc.May 20, 2026
TurnResult with collected items, timing, and usage data. (#23151, #23162)codex exec resume now accepts --output-schema, so resumed automations can keep session context while still enforcing structured JSON output. (#23123)name (thread-id) in resume hints, and pasted text works in the picker search box. (#23234, #23338)/tmp/...-prefixed paths. (#23226, #23261)codex doctor now detects npm-managed installs correctly, and MSVC release binaries no longer depend on separately installed VC++ runtime DLLs. (#22967, #22905)May 20, 2026
@openclaw/proxyline to 0.3.3.OPENCLAW_IMAGE_APT_PACKAGES as the runtime-neutral image build arg for extra apt packages while keeping OPENCLAW_DOCKER_APT_PACKAGES as a legacy fallback. (#62431) Thanks @urtabajev./readyz sidecar gating. (#83301) Thanks @samzong.autoreview while preserving the Codex-first fallback behavior.openclaw skills install and openclaw skills update to target shared managed skills with --global. (#74466) Thanks @Marvae.blockedByDialog when an action opens a modal, and allow browser dialog --dialog-id to answer pending dialogs.openclaw browser evaluate --timeout-ms so long-running page functions can extend both the evaluate action and request timeout budgets. (#83447) Thanks @eefreenyc.May 20, 2026
May 19, 2026
claude agents --json to list live Claude sessions as JSON for scripting (tmux-resurrect, status bars, session pickers)agent_id and parent_agent_id attributes to claude_code.tool OTEL spans, and fixed trace parenting so background subagent spans nest under the dispatching Agent tool span/plugin Discover and Browse screens now show a plugin's commands, agents, skills, hooks, and MCP/LSP servers before installationclaude agents terminal tab title now shows the awaiting-input count so an alt-tabbed window tells you when an agent needs attentionbackground_tasks and session_crons fields; as the command separatorgh pr create and other PR-state-changing commands run in-session/review using a deprecated projectCards GraphQL query that errored on repos with Classic Projectsclaude plugin validate not flagging skills: entries that point at a file instead of a directory — the error now suggests the parent directorycontext: fork could repeatedly re-invoke itself instead of runningMay 19, 2026
@openclaw/proxyline to 0.3.3.OPENCLAW_IMAGE_APT_PACKAGES as the runtime-neutral image build arg for extra apt packages while keeping OPENCLAW_DOCKER_APT_PACKAGES as a legacy fallback. (#62431) Thanks @urtabajev./readyz sidecar gating. (#83301) Thanks @samzong.autoreview while preserving the Codex-first fallback behavior.openclaw skills install and openclaw skills update to target shared managed skills with --global. (#74466) Thanks @Marvae.blockedByDialog when an action opens a modal, and allow browser dialog --dialog-id to answer pending dialogs.openclaw browser evaluate --timeout-ms so long-running page functions can extend both the evaluate action and request timeout budgets. (#83447) Thanks @eefreenyc.Answers to the most important questions about our AI Coding Tools Changelog Hub