Markdown Support: Troubleshooting
Troubleshooting Markdown Support: plugin does not start, editor missing, Markdown shown raw, empty preview, failed image upload, emails with Markdown syntax and frequently asked questions.
Markdown Support: Troubleshooting
The plugin writes messages with the prefix [Markdown-Support] to the PHP error log. Check there first.
Plugin does not start or is missing from the list
Symptoms: The plugin does not appear under Manage > Plugins, or osTicket reports an error while loading.
Checks:
- Is the folder at
include/plugins/markdown-support/withplugin.phpdirectly inside? - Does
vendor/autoload.phpexist in the plugin folder? The plugin requires this file. - Are the files readable for the web server user?
Fix: Use the release ZIP, or run composer install --no-dev in the Git checkout.
Editor, toolbar or format switcher does not appear
Checks:
- Is Enable Markdown Support on? See Configuration.
- Does the browser console (F12) show errors? Does
js/markdown-editor.jsload with status 200 (network tab)? - Is the page named
tickets.phporticket.php? The assets are only included for these script names. - Is the input field named
response,noteormessage?
Fix: Hard-reload the page (Ctrl+Shift+R). If the network tab shows a 403 error for js or css, see the next section.
The format switcher only appears with Allow Format Switching on. It only offers Markdown and HTML. There is no Text format in the switcher.
JavaScript or CSS loads with a 403 error
The plugin extends the file include/.htaccess on activation. If that did not work (for example because of missing write permission), the log shows Warning: /include/.htaccess not found or Could not find insertion point in /include/.htaccess.
Fix: Deactivate and reactivate the plugin. Then check whether include/.htaccess contains a block # Allow static assets and API endpoints for plugins. For NGINX there is no automatic adjustment: allow access to /include/plugins/markdown-support/css/ and /include/plugins/markdown-support/js/ in the server configuration.
Markdown is shown as raw text
Possible causes:
- The plugin is deactivated, or Enable Markdown Support is off.
- The core patch is not active. The log shows
Unable to apply patch - pattern not found,class.thread.php not foundorFailed to write patched file. Check whetherinclude/class.thread.phpcontains the textcase 'markdown':and whether the web server user may write the file. - Parsedown is missing. The log shows
Composer autoload not found. - The entry was stored with the format HTML or text. The format is set per entry, and auto-detection only affects new entries.
Live preview stays empty or simplified
The preview calls api/markdown-preview.php. If the endpoint does not answer, the editor shows a simplified browser preview without tables.
Checks:
- Does
api/markdown-preview.phpexist? Is theapi/directory writable for the web server user? Otherwise the log showsError: Cannot copy API fileorError: /api directory not found. - Does the URL answer with JSON (
405 Method Not Allowedon GET is normal)? - Is the plugin folder named exactly
markdown-support? The endpoint looks for Parsedown under this path.
Image upload fails
| Symptom | Cause and fix |
|---|---|
Message Image upload not available — no draft context found. |
The input field has no draft context. The upload is only available in forms with osTicket drafts |
The placeholder  disappears without an image |
The CSRF token is missing. Reload the page |
| Error message after drag and drop | Check the browser console and network tab, check upload_max_filesize and post_max_size in PHP |
| File is rejected | Only JPEG, PNG, GIF, WebP and BMP are allowed |
Emails show Markdown syntax
The pre-conversion for emails only runs for requests with format=markdown in $_POST. For API requests the format is only available later. See API integration.
Auto-conversion cannot be saved
The configuration reports Auto-convert requires Markdown Support to be enabled. Turn on Enable Markdown Support and save again.
Frequently asked questions
Is there an option for the live preview?
No. The preview is always active in Markdown mode, except in the compact editor.
Can clients write Markdown in the portal?
The plugin only checks the script name tickets.php/ticket.php and does not distinguish between staff and clients. Whether the portal form gets the editor depends on the pages of your osTicket. Markdown entries are rendered wherever osTicket outputs the entry.
Can I mix Markdown and HTML in the same ticket?
Yes, the format applies per thread entry.
What happens to existing entries when I deactivate the plugin?
The plugin deletes nothing. Entries keep their format and Markdown text in the database. How they are displayed without the plugin is decided by the osTicket core.
Does the plugin run with osTicket 1.17 or older?
The plugin is written for osTicket 1.18.x. Other versions are not a target of the plugin, and the core patch may fail there.
Is HTML inside Markdown entries executed?
No. Parsedown runs in SafeMode, and the result passes through Format::sanitize(). See Technical details.