Repository navigation
ToolsEnabled Slides 0.1.2 (beta)
Pre-releaseToolsEnabled Slides 0.1.2 (beta)
Published 2026-10-13. Source commit 40ce2c3e252d3e06914598b81c559c1a469923e5 (tree 7f321a46044c8820be5a90398c38d72ac3024f17), one commit on top of the public main 05d2f59d0f30eae55d5d0f0691caa7eca1d79edb (the 0.1.1 release plus the security policy).
This release provides Linux presentation editing over MCP, a local live studio, read-only Claude panes and Codex CLI views, slide locks, human dashboard controls, and PPTX/PDF/PNG export. Linux is the supported release scope. Native Windows shutdown, macOS, trusted production signing and native Desktop installation remain unqualified.
The MCP host supplies the agent. Slides does not make model calls or require a built-in online account or API key. The source ZIP contains no wheels, copied runtimes, workspace data, signing keys or packaging evidence. Prepare the Python runtime explicitly; Linux PDF/PNG also require LibreOffice.
Changes since 0.1.1, from the fresh-user verification of 0.1.1 (see CHANGELOG.md):
ppt_import/ppt_exportresults carry the workspace confinement reason (for exampleOutput already exists; choose a new destination) instead of a generic export failure.- Tool-argument schema failures are labelled
Invalid arguments: …instead ofTool crashed: …. - A refused workspace lease at startup is reported in one line, without a stack trace, by
src/server.jsandslides-mcp.js. - Shutdown during the background thumbnail render logs
thumbnail render cancelled at shutdowninstead of surfacing LibreOffice's javaldx warning asRenderer failed. - The prepared-runtime failure message carries the
tools/setup-runtime.pyhint once. ppt_showand docs/MCP.md describe the real slide and element id formats:s/eplus 8 hex characters for created objects,s1/e1/e2for the default deck,sN/eN_Mfor imported decks. The 37-tool list is otherwise unchanged.- The repository is its own plugin marketplace for Claude Code (
.claude-plugin/marketplace.json) and Codex (.agents/plugins/marketplace.json); README and docs/CLAUDE-INSTALL.md carry the literal install commands. - README adds the download-and-verify step and states that no Claude Desktop bundle is distributed; docs/CLAUDE-INSTALL.md verifies the asset's
.sha256file instead of a "SHA256 manifest" and links the wheel bundle with its hash; docs/TESTING.md names the prepared runtime the plugin-mode tests need; CHANGELOG dates 0.1.1.
Files in this release
| File | SHA-256 |
|---|---|
toolsenabled-slides-0.1.2.zip (638382 bytes, the source distribution) |
ccb1d70c72ab3701fbc1598a718cb1342554843a8a4f766f1293541e3e8d5fc5 |
toolsenabled-slides-0.1.2.zip.sha256 |
the line above, sha256sum -c format |
Verify before extracting:
sha256sum -c toolsenabled-slides-0.1.2.zip.sha256The offline Python wheel bundle that README and docs/CLAUDE-INSTALL.md use is unchanged since 0.1.0 and is not re-attached here. Use the 0.1.0 asset, which works with 0.1.2 (same six pins): toolsenabled-slides-0.1.0-cp312-linux-x86_64-wheels.zip, SHA-256 a29454931420b8d9547eeb8d17c389a005cf0343a927d7a275f15eb3cab25fec.
No Claude Desktop bundle (.mcpb) is distributed with 0.1.2. An MCPB manifest is included in the source for future Desktop qualification; registry metadata and directory publication remain held until production-signed bytes and the required qualification are verified.
Plugin installation: claude plugin marketplace add ToolsEnabled/toolsenabled-slides, then claude plugin install -s local toolsenabled-slides@toolsenabled-slides --config python_executable="/absolute/private/Slides Runtime/bin/python" --config node_executable=/absolute/node --config workspace_directory="/absolute/decks/Project Update" --config port=4599 (Claude Code; without the four settings the plugin installs but starts no server); codex plugin marketplace add ToolsEnabled/toolsenabled-slides then codex plugin add toolsenabled-slides@toolsenabled-slides (Codex). Both need the external runtime prepared as docs/CLAUDE-INSTALL.md describes.
What was tested
Full Linux suite on the release commit: FILES 107; FAILED 0; DISPLAY=unset, exit 0 (106 direct test files plus fixture generation), with SUITE_PYTHON pointing at a runtime prepared by tools/setup-runtime.py from the 0.1.0 wheel bundle. Selected in-suite results: security 10/10, error texts 3/3, renderer 3/3, media tool errors 33/33, golden tools/list 2/2, PDF race 11/11.
The same suite from the extracted ZIP (unzip, then node test/run.js inside slides/ with the same prepared runtime): FILES 107; FAILED 0; DISPLAY=unset, exit 0.
Strict real-LibreOffice lifecycle on the extracted ZIP: exit 0, ok: true, 9 named checks (initialize, golden tools/list, locks required, 3-slide MCP editing, attach and detach, real exports, import, EOF shutdown, lease released), 37 discovered tools, 3 PPTX slides, 3 PDF pages and 3 PNG images (1600 × 901 each). This is one strict lifecycle run with its retained exports and stderr, not coverage of every tool.
Marketplace: claude plugin validate --strict passes on the release tree and on the extracted ZIP (Claude Code 2.1.296). In a scratch CLAUDE_CONFIG_DIR, claude plugin marketplace add followed by claude plugin install toolsenabled-slides@toolsenabled-slides succeeded both from the clone and from the extracted ZIP directory and listed the plugin at 0.1.2. The Codex marketplace file follows the published repo-marketplace format; Codex installation from it and the packaged-ZIP Codex host gate (tools/prove-codex-plugin.py) were not run for 0.1.2. No native Windows/macOS/Desktop or production certificate trust is inferred.
Support and security contact: support@toolsenabled.ai (security policy: https://toolsenabled.ai/security/).