anthropics / anthropics/claude-code

[BUG] Gmail connector rewrites URLs and bare domains in message bodies into google.com/url redirect links

オープン
#94,247 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
area:integrations bug has repro platform:windows
主要言語
Python
スター
145k
フォーク
23.1k
PR マージ指標
PR 指標を取得中

説明

## Summary
When creating or updating a draft via the claude.ai Gmail connector (create_draft / update_draft), every URL and bare domain name in the body is saved as a Google redirect link, e.g.

`https://www.example.com/page/` → `https://www.google.com/url?q=https://www.example.com/page/&source=gmail&ust=1789465765136000&sa=E`

The rewritten link is what gets stored and sent, so recipients receive google.com/url links instead of the original URLs.

## Steps to reproduce
1. Call `create_draft` with plain `body`:
```
A1 https://www.example.com/page/
A2 example.com
A3
```
2. Fetch the draft with `get_draft` (messageFormat: RAW) and decode the MIME.

## Actual
- text/plain part: all three lines contain `https://www.google.com/url?q=...&source=gmail&ust=...&sa=E`
- text/html part: same, rendered as plain text
- Passing `htmlBody` with an explicit `` also gets its href rewritten; a bare domain inside `` is wrapped in a redirect ``.
- Email addresses are not affected (they become mailto links).
- `update_draft` on a reply draft also drops the thread association (new threadId) and the quoted original.
- Messages previously sent through the connector (send_message) show the same rewritten URLs in the Sent copy's RAW MIME. In one case the plain-text part contains an unescaped `=17` (`ust...`), i.e. the rewrite is inserted without proper quoted-printable encoding.

## Expected
The body is stored exactly as provided; URLs are not wrapped in google.com/url redirects.

## Impact
Any email containing a link (signature website, product page) is sent with Google redirect URLs. We have had to block the connector's write tools with a PreToolUse hook and compose via the Gmail web UI instead.

## Environment
- Claude Code desktop app (Code tab), Windows 11
- claude.ai Gmail connector (tools: create_draft, update_draft, send_message)
- Observed 2026-09-04 and reproduced 2026-09-14

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Start by reproducing the behavior through create_draft and update_draft, then fetch the result with get_draft using messageFormat RAW; compare the decoded MIME with the supplied body and htmlBody. Check send_message as well, including reply drafts. Done means URLs remain unchanged, MIME encoding is valid, and update_draft preserves the thread association and quoted original.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
api, backend
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。