ONLYOFFICE Desktop Editors does not document a single “Enable plugin development” switch. The supported workflow is to install your own plugin through Plugin Manager, place it in the local plugin folder, and optionally replace the installed copy with a symbolic link to your working source folder. To inspect errors and use breakpoints, launch the desktop app with the documented debug flag. These are separate steps: debug mode exposes developer tools, while installing or linking the plugin makes it available to the editor.
The current ONLYOFFICE API documentation describes this same desktop workflow and also documents a flag for keeping debug mode enabled across launches. I found no official notice of a new development-mode toggle that changes these steps. This guide follows the official instructions available on October 6, 2026. Paths can vary with installation type, so confirm the path for your platform before changing files.
Choose a plugin development workflow
| Approach | Best for | Trade-off |
Install a .plugin archive in Plugin Manager | First install, quick tests, or occasional changes | Simple and supported, but you must rebuild and reinstall the archive after each source change. |
| Link the installed plugin folder to your source folder | Frequent edits during development | Removes repeated packaging, but requires the correct per-user path and a reload or reopen to pick up changes. |
| Launch with the debug flag | Inspecting console output, plugin frames, or breakpoints | Enables developer tools; it does not install a plugin or automatically load untrusted code. |
For most developers, use the archive once to register the plugin, then use a symbolic link for iteration. Add the debug flag only when diagnosing code. Leave its persistent variant off unless you need developer tools on every launch.
Prepare the plugin files
Start with a local plugin directory containing at least the files required by your plugin, including config.json and index.html. The configuration file must have a valid plugin GUID and point to the plugin’s entry page and assets using the ONLYOFFICE plugin schema. Use the official sample plugins or API documentation for the complete schema; a malformed GUID, broken path, or invalid configuration can keep the plugin from appearing.
The GUID in config.json usually has the form asc.{YOUR-GUID}. Desktop Editors uses the GUID as the plugin folder name but omits the asc. prefix. Keep the same GUID in the source directory, archive, and installed path. Do not reuse the GUID of a built-in or another installed plugin.
Install the plugin for the first time
- Put the plugin’s files and subfolders into a ZIP archive. The files themselves must be at the archive root, rather than inside an extra enclosing project folder.
- Change the archive extension from
.zip to .plugin.
- Open ONLYOFFICE Desktop Editors, select the Plugins tab, and click Plugin Manager.
- Open My plugins, choose Install plugin manually, select the
.plugin file, and confirm.
The plugin should then appear in the Plugins tab in the open editor and in editors opened later. The manual archive route works without an Internet connection. Marketplace installation is intended for ready-to-use plugins; it is not a substitute for loading your own development build.
Use a symbolic link for faster iteration
After the first install, Desktop Editors stores a copy in a sdkjs-plugins directory. Replace that copy with a symbolic link to your source folder so you can edit the working files directly. Close Desktop Editors before changing the installed test-plugin folder. Keep a backup or make sure your source folder is intact, and remove only the folder matching your test plugin’s GUID.
| Operating system | User plugin directory |
| Windows | %LOCALAPPDATA%\ONLYOFFICE\DesktopEditors\data\sdkjs-plugins\ |
| macOS | ~/Library/Application Support/asc.onlyoffice.ONLYOFFICE/data/sdkjs-plugins/ |
| Linux | ~/.local/share/onlyoffice/desktopeditors/sdkjs-plugins/ |
Inside the directory, the link name is the GUID in braces without the asc. prefix. For example, if the configuration GUID is asc.{91EAC419-EF8B-440C-A960-B451C7DF3A37}, the folder or link name is {91EAC419-EF8B-440C-A960-B451C7DF3A37}.
Windows
Open Command Prompt as an administrator if your Windows account or policy requires it. After closing the editors and moving the installed test-plugin folder out of the way, create the directory link:
mklink /D "%LOCALAPPDATA%\ONLYOFFICE\DesktopEditors\data\sdkjs-plugins\{YOUR-GUID}" "C:\path\to\your\plugin"
Replace both placeholders with the GUID and the full path to your source directory. The link target must not already exist.
macOS
ln -s "/path/to/your/plugin" "$HOME/Library/Application Support/asc.onlyoffice.ONLYOFFICE/data/sdkjs-plugins/{YOUR-GUID}"
Linux
ln -s "/path/to/your/plugin" "$HOME/.local/share/onlyoffice/desktopeditors/sdkjs-plugins/{YOUR-GUID}"
Use the paths for your installed edition; packaged or sandboxed builds may store user data elsewhere. After editing the source, reopen the document or reload the plugin as appropriate. The symbolic link avoids rebuilding the archive, but changes are not necessarily picked up until the editor reloads the plugin.
Launch Desktop Editors with developer tools
To debug a plugin, fully quit Desktop Editors and start it with --ascdesktop-support-debug-info. Use the command for your operating system; if you installed the app in a custom location, adjust the executable path.
Windows
Run this in Command Prompt:
"%ProgramFiles%\ONLYOFFICE\DesktopEditors\DesktopEditors" --ascdesktop-support-debug-info
Alternatively, edit a shortcut’s Target field by adding a space and the flag after the executable path. This affects launches through that shortcut.
Linux
"/opt/onlyoffice/desktopeditors/DesktopEditors" --ascdesktop-support-debug-info
macOS
"/Applications/ONLYOFFICE.app/Contents/MacOS/ONLYOFFICE" --ascdesktop-support-debug-info
Once the app is running, click inside a document and press F1, or right-click an editable toolbar field and choose Inspect Element. In the developer tools, select the plugin’s iframe to inspect its own JavaScript and logs. The code passed to callCommand runs in the editor frame, named frameEditor, so its errors and breakpoints may appear in a different context than the plugin UI code.
The optional flag --ascdesktop-support-debug-info-keep=1 keeps debug mode enabled across launches. To turn off the persistent state, launch with --ascdesktop-support-debug-info-keep=0; use --ascdesktop-support-debug-info-keep=default to return to the default state. Persistent developer tools are convenient on a dedicated test machine, but leaving them enabled on a shared workstation adds clutter and keeps inspection tools available when you do not need them.
Check that the development setup works
- The plugin appears by its configured name in the Plugins tab.
- After a source change, reopening the document or reloading the plugin shows the updated behavior.
- Developer tools open with
F1 or through Inspect Element after launching with the debug flag.
- Logs from plugin UI code appear when the plugin iframe is selected; document commands are inspected in
frameEditor.
If the plugin is missing, verify that config.json and index.html are at the archive root, the GUID is valid, and the folder uses the GUID without the asc. prefix. Confirm that the link points to the source directory and not to a parent directory that contains it. If the plugin appears but behaves like an older build, close and reopen the document so the editor reloads the linked files.
What this setup does not enable
The desktop debug flag is not a global permission switch for plugin development. Installing an archive or placing a folder in the supported plugin directory makes that plugin available; the debug flag exposes inspection tools. Likewise, instructions for loading a plugin by URL into a web editor do not automatically apply to Desktop Editors. Use the desktop-specific installation and debugging workflow above.
These directions concern plugins for ONLYOFFICE Desktop Editors. They do not explain how to enable plugins in DocSpace, how to configure server-side plugins in ONLYOFFICE Docs, or how to publish a plugin to the Marketplace. For those workflows, use the corresponding official product documentation.
Official references