{"version":"2.1.311","anchor":"plugin-ui-gains-prompt-paint-layer","canonical_anchor":"plugin-ui-gains-prompt-paint-layer","heading":"New remote file-download handlers and a prompt-paint layer for plugin UIs","tier":"use","area":"Plugins","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311\/e\/plugin-ui-gains-prompt-paint-layer","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311","markdown":"### New remote file-download handlers and a prompt-paint layer for plugin UIs\n\nRemote sessions gain handlers that place downloaded files in a session folder, and plugins can paint text and decorations into the prompt box\n\n**What**\n\nTwo new surfaces arrive together.\n\n- **File download and save handlers:** one takes `file_uuid`, `name` and `keep_existing` and places the file in a session folder. It reports placed, kept, too_large or failed, and refuses providers that are not Anthropic's own with `not_first_party` (\"not downloaded: not permitted on this API provider\"). The other saves a file by `file_id` with `save_as`, `bytes` and `session_folder`, and returns codes such as `no_room` and `name_taken`. Both are guarded by `CLAUDE_CODE_REMOTE` or first-party provider checks, and a helper returns false unless `CLAUDE_CODE_REMOTE` is set. No caller was found for them in this change.\n\n- **Prompt paint:** the list of plugin interface abilities (`ui_attach`) now includes `ui_prompt_paint`, next to `ui_prompt_read`, `ui_prompt_fill` and `ui_prompt_suggest`. The prompt interface gains `paint` and `forget` operations that draw layered text and decorations into the composer, the box where you type your message.\n\n**Why**\n\nRemote sessions look set to receive files directly into a session folder, though nothing calls these handlers yet. Plugins and remote surfaces can now draw over the prompt box, so text you see there may come from a plugin and not from you.\n\n- Area: Plugins\n- Names: `ui_prompt_paint`\n- Tier: Use it now\n- Useful: 5\/5\n- Signal: 4\/5\n- Scope: individual\n- Heads-up: no"}