One binary edits 3 Office formats without Microsoft Office
OfficeCLI v1.0.147 works with .docx, .xlsx, and .pptx, exposing their contents through get, query, set, add, remove, and move commands. Every operation can return JSON. A path such as /slide[1]/shape[1] gives an agent a stable target without making it write raw XML for ordinary changes. When the higher-level model falls short, raw, raw-set, and add-part provide direct access to document parts.
The unusual part is feedback. view html, view screenshot, and watch render a file without an Office installation, while validate checks its Open XML structure and view issues looks for problems such as overflow or missing alternative text. The README calls this renderer high fidelity. Open issue 341 gives the necessary counterweight: on version 1.0.144, its reporter found clipped connectors, ignored inherited alignment, unwanted text outlines, and incorrect equation presentation in PowerPoint HTML.
What happened when we ran it
Our sandbox entered the npm project under ./npm/ and completed installation in 22 seconds. npm reported 0 packages installed, with 33 MB used on disk, and its audit found 0 known vulnerabilities: 0 critical, high, moderate, or low. Our measurement setup was an unprivileged Debian container with 3 CPUs, 8 GB of RAM, and no secrets.
There was no npm build script or target, so the build step was skipped. The same was true for tests. The repository scan found 1,206 files, about 336,707 lines of source, 6 CI workflow files, no Dockerfile, and no tests directory. These measurements describe commit b94f390 and the npm packaging path. They do not show that a generated spreadsheet recalculates correctly or that a PowerPoint slide matches Office pixel for pixel.
The 33 MB npm result ends at a native binary
Our 33 MB npm installation delivered a host-specific executable rather than a JavaScript dependency tree. The README lists macOS and Linux binaries for x64 and ARM64, plus both Windows architectures. The shipped file embeds .NET, so users do not install that runtime separately. Building the source is different: contributors need the .NET 10 SDK and run ./build.sh. That split explains how npm can report 0 added packages while still using disk space.
No Microsoft Office installation is required for core editing or the built-in HTML and PNG views. Some behavior still varies by platform or add-on. The command table says Word field refresh uses a Word backend on Windows and an HTML fallback elsewhere, while PDF export is handled through a plugin. Test the exact document features and operating system you intend to run; the 22-second wrapper install did not exercise any of those paths.
Resident mode needs an explicit save before another process reads
OfficeCLI can hold edits in resident memory for 2 to 10 seconds before its adaptive idle flush. The README warns that another program will see stale disk contents until save or close runs. You can select OFFICECLI_RESIDENT_FLUSH=each when another program reads after every mutation, trading some speed for a clearer durability boundary.
Issue 328 shows what happens when that boundary is ignored. The reporter used version 1.0.143, killed the resident before its idle flush, and found that the in-memory edit was gone while a later process said there were no pending changes. Batch mode is atomic by default for command errors, but it cannot preserve data that never reached disk after a process crash. Short-lived agent workers should flush inside the same execution segment that performs the edit.
Auto-install and update checks require an explicit policy
OfficeCLI v1.0.147 can copy its binary into PATH and install a skill into detected agent tools. The same installer can register the MCP server for Claude Code, Cursor, VS Code, or LM Studio. Bare invocation may trigger self-installation, and the README says background update checks are enabled by default. Those conveniences are reasonable on a personal workstation. A managed fleet should package a pinned binary, choose which agent configurations may change, and turn off automatic checks if releases require approval.
The MCP endpoint exposes all document operations over JSON-RPC, so filesystem permissions become part of the security model. A tool able to edit a proposal can also remove a worksheet or change a contract paragraph if the agent can reach that path. Limit its working directory, retain source documents, and validate output with a separate reader before delivery. The native binary needs no cloud credential for local editing, which keeps the basic deployment simpler.
Version 1.0.147 arrived with an active issue queue
GitHub recorded a push on September 3, 2026, followed by release v1.0.147 that day. The repository had 29,913 stars, 41 open issues, and 48 open pull requests when fetched. That is current maintenance and substantial outside attention. It is also a young 1.0 series carrying open reports about rendering, resident persistence, and spreadsheet references, so an upgrade should replay your own document fixtures.
OfficeCLI makes the most sense when the same automation must cross 3 Office formats and agents need both structured operations and a picture of the result. Template merge, replayable dumps, batch rollback, and raw XML escape hatches cover much more than a thin file converter. The missing npm build and test targets keep our confidence below the README's broad claims. Use the tool as an editor with guardrails, then open important output in the application your recipient will use.

