What task are you trying to do?
As a PawWork user, I want Word, Excel, and PowerPoint file handling to use the intended bundled OfficeCLI version, so document workflows keep improving as OfficeCLI ships fixes and new capabilities. This matters more as #100 makes file attach route more Office files into the local document-processing path, and it also connects to the longer-term #30 direction where OfficeCLI should become a first-party desktop plugin instead of an implicit bundled binary.
What do you do today?
Today packages/desktop-electron/resources/tools/officecli is a tracked binary bundled into the desktop app through electron-builder.config.ts. The download helper points at the latest OfficeCLI release asset, but packages/desktop-electron/scripts/download-tools.ts skips the download whenever the binary already exists. predev and prebuild do not refresh it.
On 2026-04-21, local verification found the checked-in macOS arm64 binary was 1.0.45, while the latest upstream release was v1.0.53, published on 2026-04-19. Running officecli --version locally can also self-update the binary in place, which dirties the git worktree without an intentional PawWork change.
What would a good result look like?
PawWork should make bundled OfficeCLI versioning explicit and release-safe.
A good near-term result:
- Decide the intended OfficeCLI version for each PawWork desktop release.
- Refresh the bundled binary intentionally during release prep, rather than depending on ad hoc local self-update behavior.
- Add a check that reports the bundled OfficeCLI version and fails or warns when it does not match the expected release version.
- Avoid dirtying the repo during ordinary verification, for example by documenting or enforcing
OFFICECLI_SKIP_UPDATE=1 when checking the bundled binary.
- Keep this scoped to the current bundled-tool model.
A good longer-term result, connected to #30:
- Treat OfficeCLI as a first-party desktop plugin with explicit install, update, enable, and version state.
- The plugin-management UI should eventually own OfficeCLI visibility and upgrades, instead of hiding it as a silent resource under
resources/tools.
Which audience does this matter to most?
Both
Extra context
Related issues:
Current code pointers:
- Bundled binary:
packages/desktop-electron/resources/tools/officecli
- Bundle config:
packages/desktop-electron/electron-builder.config.ts
- Download helper:
packages/desktop-electron/scripts/download-tools.ts
- Desktop prebuild path:
packages/desktop-electron/scripts/prebuild.ts
- Desktop predev path:
packages/desktop-electron/scripts/predev.ts
- Document skill:
skills/document-processing/SKILL.md
What task are you trying to do?
As a PawWork user, I want Word, Excel, and PowerPoint file handling to use the intended bundled OfficeCLI version, so document workflows keep improving as OfficeCLI ships fixes and new capabilities. This matters more as #100 makes file attach route more Office files into the local document-processing path, and it also connects to the longer-term #30 direction where OfficeCLI should become a first-party desktop plugin instead of an implicit bundled binary.
What do you do today?
Today
packages/desktop-electron/resources/tools/officecliis a tracked binary bundled into the desktop app throughelectron-builder.config.ts. The download helper points at the latest OfficeCLI release asset, butpackages/desktop-electron/scripts/download-tools.tsskips the download whenever the binary already exists.predevandprebuilddo not refresh it.On 2026-04-21, local verification found the checked-in macOS arm64 binary was
1.0.45, while the latest upstream release wasv1.0.53, published on 2026-04-19. Runningofficecli --versionlocally can also self-update the binary in place, which dirties the git worktree without an intentional PawWork change.What would a good result look like?
PawWork should make bundled OfficeCLI versioning explicit and release-safe.
A good near-term result:
OFFICECLI_SKIP_UPDATE=1when checking the bundled binary.A good longer-term result, connected to #30:
resources/tools.Which audience does this matter to most?
Both
Extra context
Related issues:
Current code pointers:
packages/desktop-electron/resources/tools/officeclipackages/desktop-electron/electron-builder.config.tspackages/desktop-electron/scripts/download-tools.tspackages/desktop-electron/scripts/prebuild.tspackages/desktop-electron/scripts/predev.tsskills/document-processing/SKILL.md