> ## Documentation Index
> Fetch the complete documentation index at: https://docs.typingmind.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Plugin system update - September 30, 2026

## For users

* TypingMind saves the images from image generation plugins and MCP tools in the Files tab of the chat (About this chat → Files).
* GPT Image 2.5 can edit any image in the chat, not only the images in your latest message. [More information](/plugins/gpt-image-editor)
* Interactive Canvas and Web App Builder can show images from the chat. A shared artifact contains the images that it shows. [More information](/plugins/interactive-canvas-\(artifacts\))

## For plugin developers

* To receive files from the chat, use the new `typingmind-attachment` parameter type and the new `read_chat_attachments` permission. [More information](/plugins/build-a-typingmind-plugin#chat-file-parameters)
* Image cards have a new `image.filename` field. TypingMind saves base64 card images as chat files. [More information](/plugins/build-a-typingmind-plugin#render-as-typingmind-card)
* To show a chat file in HTML output, use `tm-attachment://<id>`. In markdown output, use `#tm-attachment:<id>`. [More information](/plugins/build-a-typingmind-plugin#render-as-html)
* In a plugin on GitHub, you can keep each JavaScript function in a different file. Use the new `codeFile` field. [More information](/plugins/typingmind-plugin-json-schema#javascript-source-files)

## Changes to current behavior

* `previousRunOutput` does not return `respond_to_ai` output. [More information](/plugins/build-a-typingmind-plugin)
* TypingMind imports plugins from private GitHub repositories from the `main` branch. To use a different branch, add `/tree/<branch>` to the URL. [More information](/plugins/share-import-plugins#import-a-plugin-from-a-private-github-repo)
* GPT Image 2.5 does not automatically use the images in your latest message. The AI selects the images.
