[BUG] Cowork: Word & PowerPoint MCP connectors have AppleScript syntax errors — replace_text and get_slide_content broken

Resolved 💬 3 comments Opened Feb 17, 2026 by bpernsteiner Closed Feb 21, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

The built-in Word (By Anthropic) and PowerPoint (By Anthropic) MCP connectors in Cowork mode have AppleScript syntax errors that make key tools completely non-functional on macOS.

Bug 1: PowerPoint get_slide_content — Missing of keyword

The generated AppleScript contains:

if has text frame shp then

This causes error -2741: Expected "then", etc. but found identifier because has text frame needs of to reference the shape object. The tool fails 100% of the time.

Fix: if (has text frame of shp) then

---

Bug 2: Word replace_text — Duplicated parameter

The generated AppleScript contains:

execute find findObject replace replace all replace replace all

This causes error -2750: The «class 5642» parameter is specified more than once. The replace replace all clause is duplicated. The tool fails 100% of the time.

Fix: execute find findObject replace replace all

---

Both bugs are in the bundled MCP server code at /$bunfs/root/claude (Bun.js embedded filesystem), so users cannot patch them. Both are one-line fixes.

Additional issue: open_document and open_presentation return "success" but the file is not actually loaded when the path originates from the Cowork VM. Subsequent get_document_text returns "No document is open" (observed 19 times in one session). The VM path doesn't translate to a valid macOS path.

What Should Happen?

  • get_slide_content should return the text content of a PowerPoint slide
  • replace_text should find and replace text in an open Word document
  • open_document / open_presentation should either translate VM paths to macOS paths, or return an error instead of false "success"

Error Messages/Logs

PowerPoint get_slide_content error:

368:371: syntax error: Expected "then", etc. but found identifier. (-2741)

Full failing AppleScript:

tell application "Microsoft PowerPoint"
  if (count of presentations) = 0 then
    return "No presentation is open"
  end if
  set activePres to active presentation
  set targetSlide to slide 1 of activePres
  set slideText to ""
  repeat with shp in shapes of targetSlide
    if has text frame shp then          <-- BUG: missing "of"
      set slideText to slideText & (content of text range of text frame of shp) & return
    end if
  end repeat
  return slideText
end tell

Stack trace: at ggD (/$bunfs/root/claude:1545:13982)

---

Word replace_text error:

459:498: syntax error: The «class 5642» parameter is specified more than once. (-2750)

Full failing AppleScript:

tell application "Microsoft Word"
  if (count of documents) = 0 then
    return "No document is open"
  end if
  set activeDoc to active document
  tell activeDoc
    set findObject to find object of selection
    clear formatting findObject
    set content of findObject to "search text"
    set replacement to "replace text"
    execute find findObject replace replace all replace replace all   <-- BUG: duplicated parameter
  end tell
  return "Text replaced successfully"
end tell

Stack trace: at ggD (/$bunfs/root/claude:1545:13982)

Steps to Reproduce

  1. Open Claude Desktop (Cowork mode) on macOS with Word and PowerPoint (By Anthropic) MCP connectors enabled
  2. Open a PowerPoint presentation (either via open_presentation or manually)
  3. Call get_slide_content with any slide number → AppleScript error -2741 every time
  4. Open a Word document (either via open_document or manually)
  5. Call replace_text with any find/replace values → AppleScript error -2750 every time

For the path translation issue:

  1. From Cowork, call open_document with a VM path like /sessions/.../mnt/Document Control/file.docx
  2. Tool returns "success" but get_document_text returns "No document is open"
  3. Word/PowerPoint launches but no file is actually loaded

Claude Model

Opus

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

Claude Desktop (Cowork mode) — Feb 2026 release

Platform

Other

Operating System

macOS

Terminal/Shell

Other

Additional Information

Platform detail: Claude Desktop (Cowork mode) on macOS Apple Silicon. The MCP connectors "Word (By Anthropic)" and "PowerPoint (By Anthropic)" are built-in connectors, not user-installed.

Working tools for reference (these DO function correctly):

  • Word: create_document, get_document_text, insert_text, save_document
  • PowerPoint: open_presentation, add_slide, set_slide_title, add_text_to_slide, save_presentation

Session stats: 24 AppleScript errors and 19 false-success "No document is open" events logged in a single Cowork session.

Proposed fixes are trivial — both are one-line changes:

  1. PowerPoint: if has text frame shp thenif (has text frame of shp) then
  2. Word: remove the duplicated replace replace all parameter

The connector code is bundled at /$bunfs/root/claude (Bun.js embedded FS) so users cannot self-patch.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗