From 260222722a80d9bae5b5e433da00e1cd9e9b9483 Mon Sep 17 00:00:00 2001 From: Isabelle Ilyia Date: Mon, 13 Jul 2026 20:12:54 -0700 Subject: [PATCH] docs: recommend a custom connector for Cowork, revert the MCP URL hardcode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Root cause of the Cowork marketplace-sync failure is now confirmed: this plugin's hooks.json uses the mcp_tool hook type (required to call an MCP tool directly from a hook, which is how conversation capture works), and Cowork's server-side marketplace-sync content validator only accepts command/prompt/agent hook types. Deliberate Anthropic-side restriction (anthropics/claude-code#35653, closed NOT_PLANNED for the identical HTTP-hooks case), not something fixable in this repo. Confirmed live via claude.ai-web.log's real error payload, and by testing a hooks-free build of this exact repo (synced fine with hooks removed, failed identically with them present). Since the plugin's only differentiator over a bare MCP connector is hook-driven conversation capture, and that can't work in Cowork today, recommend a custom connector there instead (same tools, no plugin involved) until Anthropic lifts the restriction. Also reverts the MCP URL hardcode from an earlier, now-ruled-out fix attempt (git-subdir source, kept — plain hardcode, undone) — restores the CEDAR_MCP_URL local-dev override the README's "Local development" section depends on. --- README.md | 31 +++++++++++++++++++++---------- cedar-plugin/.mcp.json | 2 +- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index aff9953..8fad54d 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,34 @@ # Cedar Claude Plugin -Connects [Cedar](https://cedarcopilot.com) to Claude Code and Claude Cowork: Cedar's -tools via MCP, and conversation capture (via hooks) so what you do with Cedar through -Claude shows up in your Cedar chat history. +Connects [Cedar](https://cedarcopilot.com) to Claude Code: Cedar's tools via MCP, and +conversation capture (via hooks) so what you do with Cedar through Claude shows up in +your Cedar chat history. ## Install -**Claude Cowork**: open the Marketplace section, search for "cedar", click Install. The -exact flow for adding a marketplace that isn't yet in Anthropic's own directory (as -opposed to installing from one already listed) hasn't been verified end-to-end here yet -— confirm the discovery/add step works before assuming parity with the Claude Code path -below. - -**Claude Code**: +**Claude Code** (full plugin — tools + conversation capture): ``` /plugin marketplace add CedarCopilot/cedar-plugin /plugin install cedar@cedar-marketplace ``` +**Claude Cowork** (tools only, no conversation capture — see below): +Cowork's plugin-marketplace sync currently rejects this plugin outright. Its +`hooks/hooks.json` uses the `mcp_tool` hook type (the only mechanism that lets a hook +call an MCP tool directly — required for conversation capture), but Cowork's +server-side marketplace-sync validator only accepts `command`/`prompt`/`agent` hook +types. This is a confirmed, deliberate Anthropic-side restriction, not a bug in this +repo — see [anthropics/claude-code#35653](https://github.com/anthropics/claude-code/issues/35653) +(closed `NOT_PLANNED`) for the identical restriction on HTTP hooks. Verified live via +`~/Library/Logs/Claude/claude.ai-web.log`'s `MARKETPLACE_ERROR:REMOTE_SYNC_FAILED` +payload, and by testing a hooks-free build of this exact repo (synced successfully with +hooks removed, failed identically with them present). + +Until Anthropic lifts this restriction, add Cedar as a **custom connector** in Cowork +instead of installing this plugin: **Customize → Connectors → Add custom connector**, +URL `https://api.mail.cedarcopilot.com/mcp`. This gets you the same MCP tools with no +plugin involved — but no conversation capture, since that's entirely hook-driven. + ## Testing (Claude Code — most controllable path, verified working) After installing (above), this kicks off Cedar's OAuth consent flow the first time it diff --git a/cedar-plugin/.mcp.json b/cedar-plugin/.mcp.json index 4c69056..19dcb65 100644 --- a/cedar-plugin/.mcp.json +++ b/cedar-plugin/.mcp.json @@ -2,7 +2,7 @@ "mcpServers": { "cedar-mcp": { "type": "http", - "url": "https://api.mail.cedarcopilot.com/mcp" + "url": "${CEDAR_MCP_URL:-https://api.mail.cedarcopilot.com/mcp}" } } }