Connect with me via the floating button
CLI for Chrome Web Store — upload ZIPs, publish to store or trusted testers, check status. OAuth or service account auth.
macOS, Linux, and Windows supported. Requires Node.js 18+ and 2-Step Verification on your Google account.
⚠️ API Deprecation Notice: This CLI uses Chrome Web Store API V1, which is deprecated and supported until October 15, 2026. It works fine today, but plan to migrate to V2 before then.
Authenticate with OAuth or a service account token, then manage your Chrome extensions directly from the terminal. Uses the Chrome Web Store API for uploads and publishing.
Platform
✓macOS / Linux / Windows
Runtime
✓Node.js 18+
Requirements
✓2-Step Verification enabled
set up OAuth auth
cws auth setup --client-id YOUR_ID --client-secret YOUR_SECRETcheck extension status
cws status <EXTENSION_ID> --jsonlist your extensions
cws extensions list --ids "id1,id2"upload new version
cws publish <EXTENSION_ID> --zip ./extension.zipupload and publish
cws publish <EXTENSION_ID> --zip ./extension.zip --publishpublish to testers
cws publish <EXTENSION_ID> --zip ./extension.zip --publish --target trustedTestersInteractive OAuth flow with refresh token storage.
List extensions by ID from your developer account.
Get extension metadata and current status.
Check publish state (draft, published, rejected).
Upload ZIP to draft or publish immediately.
Best for local development and personal use. Opens a browser for authorization.
http://localhost:8503/oauth2callbackBest for automated pipelines. Use a pre-issued access token.
Opening browser for authorization...
{
"item_id": "abcdefghijklmno",
"status": "PUBLISHED",
"upload_state": "SUCCESS"
}Built for Chrome extension developers. Automate your publishing workflow, deploy from CI, and check extension status — all from your terminal.
Star on GitHub