Skip to content

Scribe v0.2.1 - feedback-driven fixes

Choose a tag to compare

@juliandickie juliandickie released this 27 Apr 00:24
· 92 commits to main since this release

Scribe v0.2.1

Patch release driven by detailed user feedback after a real cross-org bulk-upload session. No new features - all changes target onboarding friction surfaced in the feedback document (paraphrased here).

What was broken before v0.2.1

If you followed the README's getting-started flow on a fresh machine and tried to push markdown from a project repo, you hit at least three friction walls in order -

  1. /scribe:auth-add failed with "OAuth client credentials not found" pointing at a uv cache path you'd never created
  2. /scribe:auth-init told you to save credentials at ~/.workspace-mcp/oauth_client.json but the server ignored that path unless you also set GOOGLE_CLIENT_SECRET_PATH env var manually
  3. import_to_google_doc rejected your project-repo file with a sandbox error that wasn't documented anywhere user-facing

What's fixed

Manifest (the leverage point)

plugin.json's mcpServers.scribe.env now sets -

  • GOOGLE_CLIENT_SECRET_PATH to ${HOME}/.workspace-mcp/oauth_client.json (matches what /scribe:auth-init tells you to do)
  • WORKSPACE_MCP_CREDENTIALS_DIR to ${HOME}/.workspace-mcp/credentials
  • ALLOWED_FILE_DIRS to ${HOME}/.workspace-mcp/attachments

The plugin's friendly outer surface now agrees with what the underlying MCP server actually does.

Skills

  • /scribe:auth-init rewritten with explicit canonical-path instruction, multi-org callout, and Troubleshooting section
  • /scribe:auth-add now checks for the OAuth client file BEFORE attempting the flow and prints a clear "run auth-init first" message if missing
  • /scribe:push documents the ALLOWED_FILE_DIRS sandbox up front, walks Claude through auto-copying outside-sandbox files into a session subdirectory, warns that symlinks don't bypass the check, and recommends file_path over content for batch operations

Docs

  • New File-path sandbox section in README explaining the directory restriction and how to extend it
  • Expanded Multi-account support split into within-org (works out of the box) and cross-org (needs the symlink-swap pattern below)
  • New docs/multi-org-setup.md walkthrough for the cross-Workspace case
  • New scripts/switch.sh ready-to-install helper for flipping between OAuth clients across orgs
  • Four new Troubleshooting entries (sandbox error, transient 500s, slash-command-not-found, OAuth client cache-path error)

Upgrading

If you already have v0.2.0 installed -

/plugin update scribe

Or full reinstall -

/plugin uninstall scribe
/plugin install scribe
/scribe:auth-status

Existing OAuth tokens at ~/.workspace-mcp/credentials/*.json continue to work - this release only changes the plugin's wiring, not the token format.

Items deferred to the upstream fork

These were flagged in the feedback but require changes in juliandickie/google_workspace_mcp rather than this plugin -

  • Auto-retry on transient HTTP 500/502/503/504 from Drive API
  • import_to_google_doc tool description rewording to prefer file_path over content
  • list_drive_items surfacing driveId for Shared Drive context
  • Configurable scope subset (drive-only vs drive+gmail+calendar) per install

These will be filed as upstream issues. If the fork's PR to taylorwilsdon's google_workspace_mcp merges, fixes flow back to all Scribe users automatically.

License

MIT - see LICENSE.