{
  "schema_version": "cmdhub.website.command_catalog.v1",
  "tool": "gmail",
  "title": "Gmail CLI",
  "description": "Messages, threads, drafts, labels, and attachments with command-level schema.",
  "auth_mode": "OAuth2",
  "auth_scopes": {
    "label": "Google OAuth",
    "scopes": [
      "openid",
      "email",
      "profile",
      "https://mail.google.com/"
    ],
    "note": "Used for Gmail messages, threads, drafts, labels, and attachments."
  },
  "markdown_url": "/cli/gmail/index.md",
  "commands": [
    {
      "id": "cmd-gmail-attachment",
      "path": "gmail attachment",
      "name": "attachment",
      "short": "Work with Gmail attachments",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-gmail-attachment-get",
      "path": "gmail attachment get",
      "name": "get",
      "short": "Download a Gmail attachment",
      "long": "Download one Gmail attachment to a local file or emit its contents.\n\nPass --message-id and --attachment-id directly, or pipe one full message item that contains exactly one attachment.\nIf the message contains multiple attachments, pass --attachment-id explicitly.\nWith --message-id, a local attachment ref such as a1 is resolved within that message if it is not already cached.\nUse --emit-content to include a UTF-8 text preview and base64 payload in the command output for agent-visible verification.",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail attachment get\ngmail attachment get --message-id m1 --attachment-id a1 --emit-content --json\ngmail attachment get --message-id m1 --attachment-id a1 --output-file ./invoice.pdf\ngmail message get m1\ngmail message list --query 'has:attachment' --limit 1 --jsonl | gmail message get --json",
      "flags": [
        {
          "name": "attachment-id",
          "type": "string",
          "usage": "Gmail attachment id"
        },
        {
          "name": "emit-content",
          "type": "bool",
          "usage": "Include text/base64 content in the response"
        },
        {
          "name": "message-id",
          "type": "string",
          "usage": "Gmail message id"
        },
        {
          "name": "output-file",
          "type": "string",
          "usage": "Path to save the attachment"
        }
      ]
    },
    {
      "id": "cmd-gmail-auth",
      "path": "gmail auth",
      "name": "auth",
      "short": "Manage Gmail authentication",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-gmail-auth-login",
      "path": "gmail auth login",
      "name": "login",
      "short": "Start Gmail OAuth login",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail --profile work auth login\ngmail auth login\ngmail auth login --help",
      "flags": []
    },
    {
      "id": "cmd-gmail-auth-logout",
      "path": "gmail auth logout",
      "name": "logout",
      "short": "Clear auth state",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail --profile work auth logout\ngmail auth logout\ngmail auth logout --help",
      "flags": []
    },
    {
      "id": "cmd-gmail-auth-refresh",
      "path": "gmail auth refresh",
      "name": "refresh",
      "short": "Refresh stored token",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail auth refresh\ngmail auth refresh --help\ngmail auth refresh --json",
      "flags": []
    },
    {
      "id": "cmd-gmail-auth-status",
      "path": "gmail auth status",
      "name": "status",
      "short": "Show auth status",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail auth status\ngmail auth status --help\ngmail auth status --json",
      "flags": []
    },
    {
      "id": "cmd-gmail-auth-whoami",
      "path": "gmail auth whoami",
      "name": "whoami",
      "short": "Return the authenticated Gmail address",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail auth whoami\ngmail auth whoami --help\ngmail auth whoami --json",
      "flags": []
    },
    {
      "id": "cmd-gmail-capabilities",
      "path": "gmail capabilities",
      "name": "capabilities",
      "short": "Describe capabilities",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail capabilities --help",
      "flags": []
    },
    {
      "id": "cmd-gmail-config",
      "path": "gmail config",
      "name": "config",
      "short": "Inspect local configuration",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-gmail-config-explain",
      "path": "gmail config explain",
      "name": "explain",
      "short": "Explain resolved configuration",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail config explain --help",
      "flags": []
    },
    {
      "id": "cmd-gmail-doctor",
      "path": "gmail doctor",
      "name": "doctor",
      "short": "Run Gmail adapter diagnostics",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail doctor\ngmail doctor --help\ngmail doctor --json",
      "flags": []
    },
    {
      "id": "cmd-gmail-draft",
      "path": "gmail draft",
      "name": "draft",
      "short": "Work with Gmail drafts",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-gmail-draft-create",
      "path": "gmail draft create",
      "name": "create",
      "short": "Create a Gmail draft",
      "long": "Create a new Gmail draft.\n\nPass recipients with --to, then provide --subject and --body. Use repeated --attach flags to include local files.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail draft create --help\ngmail draft create --to alice@example.com --subject 'Status' --body 'Draft text'\ngmail draft create --to alice@example.com,bob@example.com --subject 'Agenda' --body 'Attached.' --attach ./agenda.pdf",
      "flags": [
        {
          "name": "attach",
          "type": "stringSlice",
          "default": "[]",
          "usage": "File path(s) to attach"
        },
        {
          "name": "body",
          "type": "string",
          "usage": "Draft body"
        },
        {
          "name": "subject",
          "type": "string",
          "usage": "Draft subject"
        },
        {
          "name": "to",
          "type": "string",
          "usage": "Comma-separated recipients"
        }
      ]
    },
    {
      "id": "cmd-gmail-draft-delete",
      "path": "gmail draft delete",
      "name": "delete",
      "short": "Delete a draft",
      "long": "Delete one Gmail draft.\n\nThe target may be a canonical draft id, a short ref such as d1, or one piped draft item.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail draft delete --help\ngmail draft delete d1\ngmail draft list --limit 1 --jsonl | gmail draft delete",
      "flags": [
        {
          "name": "id",
          "type": "string",
          "usage": "Draft id"
        }
      ]
    },
    {
      "id": "cmd-gmail-draft-get",
      "path": "gmail draft get",
      "name": "get",
      "short": "Get a draft",
      "long": "Get one Gmail draft.\n\nThe target may be a canonical draft id, a short ref such as d1, a shortened canonical id, or one piped draft item.",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail draft get\ngmail draft get d1\ngmail draft list --limit 1 --jsonl | gmail draft get",
      "flags": [
        {
          "name": "id",
          "type": "string",
          "usage": "Draft id"
        }
      ]
    },
    {
      "id": "cmd-gmail-draft-list",
      "path": "gmail draft list",
      "name": "list",
      "short": "List drafts",
      "long": "List Gmail drafts and cache local draft references such as d1.\n\nUse --query with Gmail search syntax to narrow drafts by subject, recipient, or tokens.\nUse --jsonl when the next step is another draft command such as get, send, or delete.",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail draft list\ngmail draft list --limit 1 --jsonl | gmail draft get\ngmail draft list --limit 1 --jsonl | gmail draft send\ngmail draft list --limit 10\ngmail draft list --limit 20 --json\ngmail draft list --query 'subject:\"Quarterly review\"' --limit 1 --jsonl | gmail draft get",
      "flags": [
        {
          "name": "query",
          "type": "string",
          "usage": "Raw Gmail search query for drafts"
        }
      ]
    },
    {
      "id": "cmd-gmail-draft-send",
      "path": "gmail draft send",
      "name": "send",
      "short": "Send a draft",
      "long": "Send one Gmail draft.\n\nThe target may be a canonical draft id, a short ref such as d1, or one piped draft item from stdin.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail draft list --limit 1 --jsonl | gmail draft send\ngmail draft send --help\ngmail draft send d1",
      "flags": [
        {
          "name": "id",
          "type": "string",
          "usage": "Draft id"
        }
      ]
    },
    {
      "id": "cmd-gmail-draft-update",
      "path": "gmail draft update",
      "name": "update",
      "short": "Update a draft",
      "long": "Update one Gmail draft.\n\nThe target may be a canonical draft id, a short ref such as d1, or one piped draft item.\nOmitted fields are preserved from the current draft.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail draft list --limit 1 --jsonl | gmail draft update --subject 'Status'\ngmail draft update --help\ngmail draft update d1 --subject 'Status' --body 'Updated text'",
      "flags": [
        {
          "name": "attach",
          "type": "stringSlice",
          "default": "[]",
          "usage": "File path(s) to attach"
        },
        {
          "name": "body",
          "type": "string",
          "usage": "Draft body"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Draft id"
        },
        {
          "name": "subject",
          "type": "string",
          "usage": "Draft subject"
        },
        {
          "name": "to",
          "type": "string",
          "usage": "Comma-separated recipients"
        }
      ]
    },
    {
      "id": "cmd-gmail-filter",
      "path": "gmail filter",
      "name": "filter",
      "short": "Manage simple Gmail filters",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-gmail-filter-create",
      "path": "gmail filter create",
      "name": "create",
      "short": "Create a simple Gmail filter",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail filter create --from alerts@example.com --label cmdhub-demo --archive --yes\ngmail filter create --help\ngmail filter create --subject \"cmdhub-demo\" --star --yes",
      "flags": [
        {
          "name": "archive",
          "type": "bool",
          "usage": "Skip inbox for matching mail"
        },
        {
          "name": "from",
          "type": "string",
          "usage": "Filter sender criteria"
        },
        {
          "name": "important",
          "type": "bool",
          "usage": "Mark matching mail important"
        },
        {
          "name": "label",
          "type": "string",
          "usage": "Comma-separated label IDs, names, or local refs to apply"
        },
        {
          "name": "query",
          "type": "string",
          "usage": "Provider-native Gmail filter query criteria"
        },
        {
          "name": "read",
          "type": "bool",
          "usage": "Mark matching mail read"
        },
        {
          "name": "star",
          "type": "bool",
          "usage": "Star matching mail"
        },
        {
          "name": "subject",
          "type": "string",
          "usage": "Filter subject criteria"
        },
        {
          "name": "to",
          "type": "string",
          "usage": "Filter recipient criteria"
        },
        {
          "name": "yes",
          "type": "bool",
          "usage": "Confirm filter creation"
        }
      ]
    },
    {
      "id": "cmd-gmail-filter-delete",
      "path": "gmail filter delete",
      "name": "delete",
      "short": "Delete a Gmail filter",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail filter delete --help\ngmail filter delete f1 --yes",
      "flags": [
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail filter id or local ref"
        },
        {
          "name": "yes",
          "type": "bool",
          "usage": "Confirm filter deletion"
        }
      ]
    },
    {
      "id": "cmd-gmail-filter-get",
      "path": "gmail filter get",
      "name": "get",
      "short": "Get a Gmail filter",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail filter get\ngmail filter get f1",
      "flags": [
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail filter id or local ref"
        }
      ]
    },
    {
      "id": "cmd-gmail-filter-list",
      "path": "gmail filter list",
      "name": "list",
      "short": "List Gmail filters",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail filter list\ngmail filter list --json",
      "flags": []
    },
    {
      "id": "cmd-gmail-history",
      "path": "gmail history",
      "name": "history",
      "short": "Inspect Gmail mailbox history",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-gmail-history-list",
      "path": "gmail history list",
      "name": "list",
      "short": "List Gmail history records from a known historyId",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail history list\ngmail history list --start-history-id 123456 --history-type messageAdded",
      "flags": [
        {
          "name": "history-type",
          "type": "stringSlice",
          "default": "[]",
          "usage": "History type filter; repeat or comma-separate"
        },
        {
          "name": "start-history-id",
          "type": "string",
          "usage": "Gmail historyId from message/thread metadata"
        }
      ]
    },
    {
      "id": "cmd-gmail-label",
      "path": "gmail label",
      "name": "label",
      "short": "Work with Gmail labels",
      "long": "List Gmail labels and cache local label refs such as l1.\n\nUse this before label add or label remove if you need to inspect available labels for the current mailbox.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-gmail-label-create",
      "path": "gmail label create",
      "name": "create",
      "short": "Create a user Gmail label",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail label create --help\ngmail label create --name cmdhub-demo",
      "flags": [
        {
          "name": "name",
          "type": "string",
          "usage": "New user label name"
        }
      ]
    },
    {
      "id": "cmd-gmail-label-delete",
      "path": "gmail label delete",
      "name": "delete",
      "short": "Delete a user Gmail label",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail label delete --help\ngmail label delete l1 --yes",
      "flags": [
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail label id, name, or local ref"
        },
        {
          "name": "yes",
          "type": "bool",
          "usage": "Confirm destructive label deletion"
        }
      ]
    },
    {
      "id": "cmd-gmail-label-get",
      "path": "gmail label get",
      "name": "get",
      "short": "Get a Gmail label",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail label get\ngmail label get INBOX\ngmail label get l1",
      "flags": [
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail label id, name, or local ref"
        }
      ]
    },
    {
      "id": "cmd-gmail-label-list",
      "path": "gmail label list",
      "name": "list",
      "short": "List Gmail labels",
      "long": "List Gmail labels for the active profile and cache local refs such as l1.",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail label list\ngmail label list --json\ngmail label search --query cmdhub",
      "flags": [
        {
          "name": "query",
          "type": "string",
          "usage": "Filter labels locally by name or id"
        }
      ]
    },
    {
      "id": "cmd-gmail-label-update",
      "path": "gmail label update",
      "name": "update",
      "short": "Rename a user Gmail label",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail label update --help\ngmail label update l1 --name cmdhub-demo-done",
      "flags": [
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail label id, name, or local ref"
        },
        {
          "name": "name",
          "type": "string",
          "usage": "Updated user label name"
        }
      ]
    },
    {
      "id": "cmd-gmail-login",
      "path": "gmail login",
      "name": "login",
      "short": "Start Gmail OAuth login",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail --profile work login\ngmail login",
      "flags": []
    },
    {
      "id": "cmd-gmail-logout",
      "path": "gmail logout",
      "name": "logout",
      "short": "Clear auth state",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail --profile work logout\ngmail logout",
      "flags": []
    },
    {
      "id": "cmd-gmail-message",
      "path": "gmail message",
      "name": "message",
      "short": "Work with Gmail messages",
      "long": "Work with Gmail messages.\n\nUse explicit subcommands such as list, get, reply, or archive. As a convenience,\n`gmail message <message-id>` is treated as `gmail message get <message-id>`.",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message list --query 'subject:\"Quarterly review\"' --limit 1 --jsonl\n  gmail message get m1\n  gmail message 19d8712e0a4159b7 --jsonl",
      "flags": []
    },
    {
      "id": "cmd-gmail-message-archive",
      "path": "gmail message archive",
      "name": "archive",
      "short": "Archive a message by removing INBOX",
      "long": "Archive one Gmail message.\n\nThe target may come from an explicit id, a short ref such as m1, or piped message items.\nBatch archive requires --all.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message archive --all m1 m2\ngmail message archive --help\ngmail message archive m1\ngmail message list --unread --jsonl | gmail message archive --all",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch archive"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-create",
      "path": "gmail message create",
      "name": "create",
      "short": "Create a new Gmail message or draft",
      "long": "Create a new Gmail message.\n\nPass --draft to save the message as a draft. Without --draft this command sends immediately.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message create --draft --to alice@example.com --subject 'Status' --body 'Save first'\ngmail message create --help\ngmail message create --to alice@example.com --subject 'Status' --body 'Send now'",
      "flags": [
        {
          "name": "attach",
          "type": "stringSlice",
          "default": "[]",
          "usage": "File path(s) to attach"
        },
        {
          "name": "body",
          "type": "string",
          "usage": "Message body"
        },
        {
          "name": "draft",
          "type": "bool",
          "usage": "Save as draft instead of sending"
        },
        {
          "name": "subject",
          "type": "string",
          "usage": "Message subject"
        },
        {
          "name": "to",
          "type": "string",
          "usage": "Comma-separated recipients"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-delete",
      "path": "gmail message delete",
      "name": "delete",
      "short": "Permanently delete a message",
      "long": "Permanently delete one Gmail message.\n\nUse this carefully. The target may come from an explicit id, a short ref such as m1, or piped message items.\nBatch permanent delete requires --all --yes.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message delete --all --yes m1 m2\ngmail message delete --help\ngmail message delete m1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch permanent delete"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        },
        {
          "name": "yes",
          "type": "bool",
          "usage": "Confirm destructive permanent delete"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-forward",
      "path": "gmail message forward",
      "name": "forward",
      "short": "Create a forward draft",
      "long": "Create a Gmail forward draft for one message.\n\nThe target may come from an explicit id, a short ref such as m1, or one piped message item. This command creates a draft rather than sending immediately.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message forward --help\ngmail message forward m1 --to bob@example.com --body 'Please review.'\ngmail message list --query 'has:attachment' --limit 1 --jsonl | gmail message forward --to bob@example.com --body 'Please review.'",
      "flags": [
        {
          "name": "body",
          "type": "string",
          "usage": "Forward body text"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        },
        {
          "name": "to",
          "type": "string",
          "usage": "Comma-separated recipients"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-get",
      "path": "gmail message get",
      "name": "get",
      "short": "Get a full message with parsed MIME content",
      "long": "Get one Gmail message in full detail.\n\nThe target may be:\n- a full Gmail message id\n- a stored short id such as 19d\u20269b7\n- a cached marker such as m1\n- one piped message item from stdin\n\nIf you already listed messages, prefer a short ref or piped jsonl instead of copying the full id.\nUse message get when you need the subject, parsed body, headers, or attachments for a message you just found with message list.",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail message get\ngmail message get 19d\u20269b7\ngmail message get m1\ngmail message list --query 'subject:\"Quarterly review\"' --limit 1 --jsonl | gmail message get\ngmail message list --unread --limit 1 --jsonl | gmail message get",
      "flags": [
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-important",
      "path": "gmail message important",
      "name": "important",
      "short": "Mark a message as important",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message important --help\ngmail message important m1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch important"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-label",
      "path": "gmail message label",
      "name": "label",
      "short": "Modify Gmail labels",
      "long": "Add or remove Gmail labels on one message.\n\nList labels first if you need valid label refs, then pass the message target directly or via stdin.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-gmail-message-label-add",
      "path": "gmail message label add",
      "name": "add",
      "short": "Add labels to a message",
      "long": "Add one or more Gmail labels to one message.\n\nPass --label with one or more Gmail label ids, names, or local refs such as l1. The target message may come from an explicit id, a short ref such as m1, or piped message items.\nBatch label changes require --all.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail label list\ngmail message label add --all m1 m2 --label STARRED\ngmail message label add --help\ngmail message label add m1 --label l1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch label add"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        },
        {
          "name": "label",
          "type": "string",
          "usage": "Comma-separated label IDs, names, or local refs to add"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-label-remove",
      "path": "gmail message label remove",
      "name": "remove",
      "short": "Remove labels from a message",
      "long": "Remove one or more Gmail labels from one message.\n\nPass --label with one or more Gmail label ids, names, or local refs such as l1. The target message may come from an explicit id, a short ref such as m1, or piped message items.\nBatch label changes require --all.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message label remove --all m1 m2 --label STARRED\ngmail message label remove --help\ngmail message label remove m1 --label l1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch label remove"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        },
        {
          "name": "label",
          "type": "string",
          "usage": "Comma-separated label IDs, names, or local refs to remove"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-list",
      "path": "gmail message list",
      "name": "list",
      "short": "List messages",
      "long": "List Gmail messages and cache local follow-up references.\n\nHuman output shows local markers such as m1 and shortened canonical ids.\nUse --jsonl when you want the results to feed directly into another gmail command.\nIf you need message bodies, headers, or attachments, follow up with gmail message get rather than stopping at list output.\n\nThe most common next steps are:\n- gmail message get\n- gmail message reply\n- gmail message archive\n- gmail attachment get",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail message list\ngmail message list --from alice@example.com --limit 10\ngmail message list --query 'has:attachment newer_than:7d' --limit 10\ngmail message list --query 'subject:\"Quarterly review\"' --limit 1 --jsonl | gmail message get\ngmail message list --unread --limit 1 --jsonl | gmail message get\ngmail message list --unread --limit 10",
      "flags": [
        {
          "name": "from",
          "type": "string",
          "usage": "Filter by sender"
        },
        {
          "name": "has-attachment",
          "type": "bool",
          "usage": "Filter to messages with attachments"
        },
        {
          "name": "in",
          "type": "string",
          "usage": "Mailbox/search bucket, e.g. inbox, sent, trash"
        },
        {
          "name": "include-spam-trash",
          "type": "bool",
          "usage": "Include spam and trash in search results"
        },
        {
          "name": "label",
          "type": "string",
          "usage": "Comma-separated Gmail label IDs"
        },
        {
          "name": "newer-than",
          "type": "string",
          "usage": "Gmail relative time filter, e.g. 7d"
        },
        {
          "name": "older-than",
          "type": "string",
          "usage": "Gmail relative time filter, e.g. 30d"
        },
        {
          "name": "query",
          "type": "string",
          "usage": "Raw Gmail search query"
        },
        {
          "name": "subject",
          "type": "string",
          "usage": "Filter by subject terms"
        },
        {
          "name": "to",
          "type": "string",
          "usage": "Filter by recipient"
        },
        {
          "name": "unread",
          "type": "bool",
          "usage": "List unread messages only"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-not-important",
      "path": "gmail message not-important",
      "name": "not-important",
      "short": "Remove important marker from a message",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message not-important --help\ngmail message not-important m1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch not-important"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-read",
      "path": "gmail message read",
      "name": "read",
      "short": "Mark a message as read",
      "long": "Mark one Gmail message as read.\n\nThe target may come from an explicit id, a short ref such as m1, or piped message items.\nBatch read marking requires --all.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message list --unread --jsonl | gmail message read --all\ngmail message read --all m1 m2\ngmail message read --help\ngmail message read m1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch read marking"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-reply",
      "path": "gmail message reply",
      "name": "reply",
      "short": "Send or draft a reply",
      "long": "Send or draft a Gmail reply for one message.\n\nThe target may come from an explicit id, a short ref such as m1, or one piped message item.\nPass --draft to save the reply as a draft. Without --draft this command sends immediately.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message list --query 'from:alice@example.com' --limit 1 --jsonl | gmail message reply --body 'Received.'\ngmail message reply --help\ngmail message reply m1 --body 'Looping everyone in.' --all\ngmail message reply m1 --body 'Thanks, I will review this.'\ngmail message reply m1 --draft --body 'Holding this for review.'",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Reply to all recipients"
        },
        {
          "name": "body",
          "type": "string",
          "usage": "Reply body text"
        },
        {
          "name": "draft",
          "type": "bool",
          "usage": "Save as draft instead of sending"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-star",
      "path": "gmail message star",
      "name": "star",
      "short": "Star a message",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message list --query cmdhub-demo --jsonl | gmail message star --all\ngmail message star --help\ngmail message star m1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch star"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-trash",
      "path": "gmail message trash",
      "name": "trash",
      "short": "Move a message to trash",
      "long": "Move one Gmail message to trash.\n\nThe target may come from an explicit id, a short ref such as m1, or piped message items.\nBatch trash requires --all.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message trash --all m1 m2\ngmail message trash --help\ngmail message trash m1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch trash"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-unread",
      "path": "gmail message unread",
      "name": "unread",
      "short": "Mark a message as unread",
      "long": "Mark one Gmail message as unread.\n\nThe target may come from an explicit id, a short ref such as m1, or piped message items.\nBatch unread marking requires --all.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message unread --all m1 m2\ngmail message unread --help\ngmail message unread m1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch unread marking"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-unstar",
      "path": "gmail message unstar",
      "name": "unstar",
      "short": "Remove star from a message",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message unstar --help\ngmail message unstar m1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch unstar"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        }
      ]
    },
    {
      "id": "cmd-gmail-message-untrash",
      "path": "gmail message untrash",
      "name": "untrash",
      "short": "Restore a message from trash",
      "long": "Restore one Gmail message from trash.\n\nThe target may come from an explicit id, a short ref such as m1, or piped message items.\nBatch restore requires --all.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail message untrash --all m1 m2\ngmail message untrash --help\ngmail message untrash m1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch untrash"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail message id"
        }
      ]
    },
    {
      "id": "cmd-gmail-profile",
      "path": "gmail profile",
      "name": "profile",
      "short": "Manage provider profiles",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-gmail-profile-create",
      "path": "gmail profile create",
      "name": "create",
      "short": "Create an unauthenticated provider profile",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail profile create --help",
      "flags": []
    },
    {
      "id": "cmd-gmail-profile-delete",
      "path": "gmail profile delete",
      "name": "delete",
      "short": "Delete a local provider profile",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail profile delete --help",
      "flags": []
    },
    {
      "id": "cmd-gmail-profile-list",
      "path": "gmail profile list",
      "name": "list",
      "short": "List provider profiles",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail profile list --help",
      "flags": []
    },
    {
      "id": "cmd-gmail-profile-rename",
      "path": "gmail profile rename",
      "name": "rename",
      "short": "Rename a local provider profile",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail profile rename --help",
      "flags": []
    },
    {
      "id": "cmd-gmail-profile-use",
      "path": "gmail profile use",
      "name": "use",
      "short": "Set the default provider profile",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail profile use --help",
      "flags": []
    },
    {
      "id": "cmd-gmail-resolve",
      "path": "gmail resolve",
      "name": "resolve",
      "short": "Resolve a local marker or stored short reference",
      "long": "Resolve a Gmail short reference into its canonical payload.\n\nUse this when you have a marker such as m1, t1, d1, l1, or u1, or a stored short id such as 19d\u20269b7, and want to inspect what it refers to.\n\nResolution is profile-scoped. If a marker does not resolve, verify --profile and rerun the relevant list command.",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail resolve --help\ngmail resolve 19d\u20269b7\ngmail resolve m1\ngmail resolve t1\ngmail resolve u1",
      "flags": []
    },
    {
      "id": "cmd-gmail-schema",
      "path": "gmail schema",
      "name": "schema",
      "short": "Emit Gmail adapter schema hints",
      "long": "Show schema hints for the Gmail resource payloads emitted or accepted by this CLI.\n\nUse this when you need to understand the shape of structured output for follow-up automation or parsing.",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail schema\ngmail schema --help\ngmail schema draft.create --in --json\ngmail schema message.get --out --json",
      "flags": [
        {
          "name": "in",
          "type": "bool",
          "usage": "Show input schema"
        },
        {
          "name": "out",
          "type": "bool",
          "usage": "Show output schema"
        }
      ]
    },
    {
      "id": "cmd-gmail-send-as",
      "path": "gmail send-as",
      "name": "send-as",
      "short": "Inspect Gmail send-as aliases",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-gmail-send-as-get",
      "path": "gmail send-as get",
      "name": "get",
      "short": "Get one send-as alias",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail send-as get\ngmail send-as get me@example.com",
      "flags": []
    },
    {
      "id": "cmd-gmail-send-as-list",
      "path": "gmail send-as list",
      "name": "list",
      "short": "List verified sender aliases",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail send-as list\ngmail send-as list --json",
      "flags": []
    },
    {
      "id": "cmd-gmail-thread",
      "path": "gmail thread",
      "name": "thread",
      "short": "Work with Gmail threads",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-gmail-thread-archive",
      "path": "gmail thread archive",
      "name": "archive",
      "short": "Archive a thread by removing INBOX from existing messages",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail thread archive --help\ngmail thread archive t1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch thread mutation"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail thread id"
        }
      ]
    },
    {
      "id": "cmd-gmail-thread-delete",
      "path": "gmail thread delete",
      "name": "delete",
      "short": "Permanently delete a thread",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail thread delete --all --yes t1 t2\ngmail thread delete --help\ngmail thread delete t1 --yes",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch permanent delete"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail thread id"
        },
        {
          "name": "yes",
          "type": "bool",
          "usage": "Confirm destructive permanent delete"
        }
      ]
    },
    {
      "id": "cmd-gmail-thread-get",
      "path": "gmail thread get",
      "name": "get",
      "short": "Get a full thread",
      "long": "Get one Gmail thread in full detail.\n\nThe target may be a canonical thread id, a short ref such as t1, a shortened canonical id, or one piped thread item.",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail thread get\ngmail thread get t1\ngmail thread list --limit 1 --jsonl | gmail thread get",
      "flags": [
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail thread id"
        }
      ]
    },
    {
      "id": "cmd-gmail-thread-important",
      "path": "gmail thread important",
      "name": "important",
      "short": "Mark existing messages in a thread as important",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail thread important --help\ngmail thread important t1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch thread mutation"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail thread id"
        }
      ]
    },
    {
      "id": "cmd-gmail-thread-list",
      "path": "gmail thread list",
      "name": "list",
      "short": "List threads",
      "long": "List Gmail threads and cache local thread references such as t1.\n\nUse this when you want to act on conversation-level results rather than individual messages.\nUse --jsonl when the next step should consume one thread item from stdin.",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail thread list\ngmail thread list --query 'label:IMPORTANT' --limit 1 --jsonl | gmail thread get\ngmail thread list --query 'label:IMPORTANT' --limit 1 --jsonl | gmail thread reply --body 'Following up here.'\ngmail thread list --subject invoice --limit 10",
      "flags": [
        {
          "name": "from",
          "type": "string",
          "usage": "Filter by sender"
        },
        {
          "name": "has-attachment",
          "type": "bool",
          "usage": "Filter to threads with attachments"
        },
        {
          "name": "in",
          "type": "string",
          "usage": "Mailbox/search bucket, e.g. inbox, sent, trash"
        },
        {
          "name": "include-spam-trash",
          "type": "bool",
          "usage": "Include spam and trash in search results"
        },
        {
          "name": "label",
          "type": "string",
          "usage": "Comma-separated Gmail label IDs"
        },
        {
          "name": "newer-than",
          "type": "string",
          "usage": "Gmail relative time filter, e.g. 7d"
        },
        {
          "name": "older-than",
          "type": "string",
          "usage": "Gmail relative time filter, e.g. 30d"
        },
        {
          "name": "query",
          "type": "string",
          "usage": "Raw Gmail search query"
        },
        {
          "name": "subject",
          "type": "string",
          "usage": "Filter by subject terms"
        },
        {
          "name": "to",
          "type": "string",
          "usage": "Filter by recipient"
        },
        {
          "name": "unread",
          "type": "bool",
          "usage": "List unread threads only"
        }
      ]
    },
    {
      "id": "cmd-gmail-thread-not-important",
      "path": "gmail thread not-important",
      "name": "not-important",
      "short": "Remove important from existing messages in a thread",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail thread not-important --help\ngmail thread not-important t1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch thread mutation"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail thread id"
        }
      ]
    },
    {
      "id": "cmd-gmail-thread-read",
      "path": "gmail thread read",
      "name": "read",
      "short": "Mark a thread as read",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail thread read --help\ngmail thread read t1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch thread mutation"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail thread id"
        }
      ]
    },
    {
      "id": "cmd-gmail-thread-reply",
      "path": "gmail thread reply",
      "name": "reply",
      "short": "Send or draft a reply to the latest message in a thread",
      "long": "Send or draft a Gmail reply using the latest message in a thread.\n\nThis is useful when your workflow is organized around conversation results from thread list rather than message list.\nPass --draft to save the reply as a draft. Without --draft this command sends immediately.",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail thread list --query 'label:IMPORTANT' --limit 1 --jsonl | gmail thread reply --body 'Following up here.'\ngmail thread reply --help\ngmail thread reply t1 --body 'Following up here.'\ngmail thread reply t1 --draft --body 'Holding this for review.'",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Reply to all recipients"
        },
        {
          "name": "body",
          "type": "string",
          "usage": "Reply body text"
        },
        {
          "name": "draft",
          "type": "bool",
          "usage": "Save as draft instead of sending"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail thread id"
        }
      ]
    },
    {
      "id": "cmd-gmail-thread-star",
      "path": "gmail thread star",
      "name": "star",
      "short": "Star existing messages in a thread",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail thread star --help\ngmail thread star t1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch thread mutation"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail thread id"
        }
      ]
    },
    {
      "id": "cmd-gmail-thread-trash",
      "path": "gmail thread trash",
      "name": "trash",
      "short": "Move a thread to trash",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail thread search --query cmdhub-demo --jsonl | gmail thread trash --all\ngmail thread trash --help\ngmail thread trash t1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch thread trash"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail thread id"
        }
      ]
    },
    {
      "id": "cmd-gmail-thread-unread",
      "path": "gmail thread unread",
      "name": "unread",
      "short": "Mark a thread as unread",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail thread unread --help\ngmail thread unread t1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch thread mutation"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail thread id"
        }
      ]
    },
    {
      "id": "cmd-gmail-thread-unstar",
      "path": "gmail thread unstar",
      "name": "unstar",
      "short": "Unstar existing messages in a thread",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail thread unstar --help\ngmail thread unstar t1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch thread mutation"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail thread id"
        }
      ]
    },
    {
      "id": "cmd-gmail-thread-untrash",
      "path": "gmail thread untrash",
      "name": "untrash",
      "short": "Restore a thread from trash",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail thread untrash --help\ngmail thread untrash t1",
      "flags": [
        {
          "name": "all",
          "type": "bool",
          "usage": "Confirm batch thread restore"
        },
        {
          "name": "id",
          "type": "string",
          "usage": "Gmail thread id"
        }
      ]
    },
    {
      "id": "cmd-gmail-vacation",
      "path": "gmail vacation",
      "name": "vacation",
      "short": "Manage Gmail vacation responder",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-gmail-vacation-disable",
      "path": "gmail vacation disable",
      "name": "disable",
      "short": "Disable vacation responder",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail vacation disable --help\ngmail vacation disable --yes",
      "flags": [
        {
          "name": "yes",
          "type": "bool",
          "usage": "Confirm vacation responder disable"
        }
      ]
    },
    {
      "id": "cmd-gmail-vacation-get",
      "path": "gmail vacation get",
      "name": "get",
      "short": "Get vacation responder settings",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail vacation get\ngmail vacation get --json",
      "flags": []
    },
    {
      "id": "cmd-gmail-vacation-update",
      "path": "gmail vacation update",
      "name": "update",
      "short": "Enable or update vacation responder settings",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "gmail vacation update --help\ngmail vacation update --subject \"Out of office\" --body \"Back Monday\" --yes",
      "flags": [
        {
          "name": "body",
          "type": "string",
          "usage": "Vacation responder plain-text body"
        },
        {
          "name": "contacts-only",
          "type": "bool",
          "usage": "Restrict replies to contacts"
        },
        {
          "name": "domain-only",
          "type": "bool",
          "usage": "Restrict replies to domain"
        },
        {
          "name": "end",
          "type": "string",
          "usage": "Optional provider end time"
        },
        {
          "name": "start",
          "type": "string",
          "usage": "Optional provider start time"
        },
        {
          "name": "subject",
          "type": "string",
          "usage": "Vacation responder subject"
        },
        {
          "name": "yes",
          "type": "bool",
          "usage": "Confirm vacation responder update"
        }
      ]
    },
    {
      "id": "cmd-gmail-version",
      "path": "gmail version",
      "name": "version",
      "short": "Show gmail version information",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "gmail version --help",
      "flags": []
    }
  ]
}
