Skip to main content

jean-claude

A Claude Code plugin for managing Gmail, Google Calendar, Google Drive, and iMessage (macOS only).

Prerequisites

Claude Code

This is a plugin for Claude Code, Anthropic's agentic coding tool. Install it first:

curl -fsSL https://claude.ai/install.sh | bash

uv (Python package manager)

This plugin requires uv to manage Python dependencies (requires Python 3.11+, which uv will install automatically if needed):

curl -LsSf https://astral.sh/uv/install.sh | sh

Installation

From your terminal, run:

claude plugin marketplace add max-sixty/jean-claude
claude plugin install jean-claude@jean-claude

Setup

Google Workspace (Gmail, Calendar, Drive)

After installing the plugin, ask Claude to authenticate:

"Set up Google authentication for jean-claude"

Claude will run the auth command for you, which opens a browser for OAuth consent.

Manual setup (if you prefer running commands yourself)
# The plugin is installed at:
cd ~/.claude/plugins/marketplaces/jean-claude

# Full access (read, send, modify)
uv run jean-claude auth

# Or read-only access (no send/modify capabilities)
uv run jean-claude auth --readonly

# Verify it worked
uv run jean-claude status

Credentials are saved to ~/.config/jean-claude/token.json and persist until revoked.

Using your own Google Cloud credentials (optional)

Use your own credentials if the default ones stop working (Google limits unverified apps to 100 users) or if you want your own quota.

  1. Create a Google Cloud project at https://console.cloud.google.com
  2. Go to "APIs & Services" → "Enabled APIs" and enable:
    • Gmail API
    • Google Calendar API
    • Google Drive API
  3. Go to "APIs & Services" → "OAuth consent screen":
    • Choose "External" user type
    • Fill in app name and your email
    • Add scopes: gmail.modify, calendar, drive
    • Add yourself as a test user
  4. Go to "APIs & Services" → "Credentials":
    • Click "Create Credentials" → "OAuth client ID"
    • Choose "Desktop app" as application type
    • Download the JSON file
  5. Move the downloaded file:
    mkdir -p ~/.config/jean-claude
    mv ~/Downloads/client_secret_*.json ~/.config/jean-claude/client_secret.json
    
  6. Run the auth command—it will automatically use your credentials

iMessage (macOS only)

iMessage integration requires macOS—it uses AppleScript and the local Messages database.

  • Sending messages: Works via AppleScript. On first use, macOS prompts to allow your terminal to control Messages.app (Automation permission). Grant this to whichever app runs Claude Code (Terminal, iTerm2, VS Code, etc.).

  • Reading messages: Requires Full Disk Access to read the Messages database.

    1. Open System Settings → Privacy & Security → Full Disk Access
    2. Click + and add the app that runs Claude Code:
      • If using Terminal: add /Applications/Utilities/Terminal.app
      • If using iTerm2: add /Applications/iTerm.app
      • If using VS Code: add /Applications/Visual Studio Code.app
      • If using another terminal: find it in /Applications or via which
    3. Toggle the app on and restart it

Usage

Once installed, Claude automatically uses this plugin when you ask it to:

  • Search, send, or draft emails
  • Check calendar or create events
  • Find, upload, or share Drive files
  • Send texts or check iMessages

Example Prompts

"Check my inbox for unread emails"
"What's on my calendar today?"
"Send an email to alice@example.com about the meeting"
"Search Drive for quarterly reports"
"Text +12025551234 that I'm running late"
CLI Commands

The plugin provides a unified CLI with subcommands. Claude invokes these automatically, but you can also run them manually:

cd ~/.claude/plugins/marketplaces/jean-claude
uv run jean-claude --help
uv run jean-claude gmail --help
uv run jean-claude gcal --help
uv run jean-claude gdrive --help
uv run jean-claude imessage --help  # macOS only

Shell Completions

Enable tab completion for the CLI:

cd ~/.claude/plugins/marketplaces/jean-claude

# Bash (~/.bashrc)
eval "$(uv run jean-claude completions bash)"

# Zsh (~/.zshrc)
eval "$(uv run jean-claude completions zsh)"

# Fish (~/.config/fish/config.fish)
uv run jean-claude completions fish | source

Features

Gmail

  • Search and list emails
  • Create, send, and manage drafts
  • Reply and forward with threading preserved
  • Star, archive/unarchive, mark read/unread, trash messages

Google Calendar

  • List events (today, date range, or N days)
  • Create events with attendees, location, description
  • Search, update, and delete events
  • Timezone auto-detection

Google Drive

  • List and search files
  • Upload and download files
  • Create folders and share files
  • Trash and restore files

iMessage (macOS only)

  • Send messages to individuals or groups
  • Send file attachments
  • List chats and participants
  • Search message history
  • View unread messages

Security

  • OAuth tokens are stored with 0600 permissions (owner read/write only)
  • Default OAuth client credentials are embedded for convenience (standard practice for desktop/CLI apps per Google's guidelines)
  • Users can provide their own Google Cloud credentials if preferred
  • All email/message sends require explicit user approval
Development
# Install with dev dependencies
uv sync

# Run tests
uv run pytest

# Run lints
pre-commit run --all-files

License

MIT

Metadata

Release files for jean-claude-code 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for jean-claude-code 0.1.2
File
jean_claude_code-0.1.2-py3-none-manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
jean_claude_code-0.1.2-py3-none-manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
jean_claude_code-0.1.2-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
jean_claude_code-0.1.2-py3-none-macosx_10_9_x86_64.whl Python 3 none macOS 10.9+ x86-64 Details

Total release size: 25.4 MB

Release files / jean_claude_code-0.1.2-py3-none-manylinux2014_x86_64.whl

Download URL jean_claude_code-0.1.2-py3-none-manylinux2014_x86_64.whl
Size 6.5 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
bffd0ca67ae12c2b482069a2ba200a4c4d74283735da7a3dff67ad2df61801a5
BLAKE2b-256 checksum
How to use checksums
c2a76e9bc08bd84010e310ece4bd95ec254f583cd095f663b5332822be3ace4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 26, 2025.

Transparency log

Release files / jean_claude_code-0.1.2-py3-none-manylinux2014_aarch64.whl

Download URL jean_claude_code-0.1.2-py3-none-manylinux2014_aarch64.whl
Size 6.0 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
f7de0305386ed7ca0d07d9e877fbbf14c3fbe33b4d8a02e10da28a09504d0ff7
BLAKE2b-256 checksum
How to use checksums
940a776409538097185ef79da4a65fda6b65a54c250226871040e37e195882eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 26, 2025.

Transparency log

Release files / jean_claude_code-0.1.2-py3-none-macosx_11_0_arm64.whl

Download URL jean_claude_code-0.1.2-py3-none-macosx_11_0_arm64.whl
Size 6.3 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1088858ca944e961940690b90099da3bf06f0bcc39ffc57214f01538d18e9b15
BLAKE2b-256 checksum
How to use checksums
3ac48fd0b2402cf7db020f6e3a51f7ed6dd1982f138e23c9116fcabf8ecd7820
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 26, 2025.

Transparency log

Release files / jean_claude_code-0.1.2-py3-none-macosx_10_9_x86_64.whl

Download URL jean_claude_code-0.1.2-py3-none-macosx_10_9_x86_64.whl
Size 6.6 MB
Tags Python 3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
b53a9231870c37d21417cf7df843af801271bd44a1733e9d03626c2faecd57a1
BLAKE2b-256 checksum
How to use checksums
7b2238f73aa23242584ed09c52c7015d30bd7667284cdc1b10e4a343ed2f71eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 26, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page