{"version":"2.1.290","anchor":"hooks-cannot-approve-hosted-session-desktop-tools-async-rew","canonical_anchor":"hooks-cannot-approve-hosted-session-desktop-tools-async-rew","heading":"Hooks can no longer approve desktop tools in hosted sessions","tier":"notice","area":"Hooks","scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290\/e\/hooks-cannot-approve-hosted-session-desktop-tools-async-rew","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290","markdown":"### Hooks can no longer approve desktop tools in hosted sessions\n\n`PermissionRequest` hooks are now blocked from approving a hosted session's desktop tools, and a broken hook command gets a clearer error\n\n**Unclear.** Which tools count as a hosted session's desktop tools is not stated.\n\n**What**\n\n`PermissionRequest` hooks, your own scripts that run when a tool call needs a permission decision, can no longer approve a hosted session's desktop tools. Claude Code refuses with the message \"hooks cannot approve a hosted session's desktop tools\". A tool call is one action Claude takes, such as running a command or editing a file.\n\nTwo other hook changes:\n\n- Async rewake hooks, which run in the background and can wake Claude back up, now say when a script failed to open because a path containing a space was not in quotes, so the shell split it in two.\n\n- The message from a stop hook (one that runs when Claude finishes its turn) is different when the hook ran for account memory.\n\n**Why**\n\nApproving desktop tools in a hosted session now always needs a decision outside your hooks. If a hook command breaks because of an unquoted path, the error tells you to add quotes.\n\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: both\n- Heads-up: yes"}