sweet-cookie-cli
v1.0.0
Published
Extract cookies from local browsers and inject into automation tools
Maintainers
Readme
sweet-cookie-cli
Extract cookies from local browsers (via sweet-cookie) and output them in various formats for use with automation tools like agent-browser.
Installation
npm install -g sweet-cookie-cliOr run directly:
npx sweet-cookie-cli --url https://example.com/Usage
# Extract cookies as JSON (default)
sweet-cookie-cli --url https://example.com/
# Extract as Cookie header string
sweet-cookie-cli --url https://example.com/ --format header
# Extract as agent-browser commands
sweet-cookie-cli --url https://example.com/ --format agent-browser
# Inject directly into a running agent-browser session
sweet-cookie-cli --url https://example.com/ --inject-agent-browser
# Dry run — print agent-browser commands without executing
sweet-cookie-cli --url https://example.com/ --inject-agent-browser --dry-runOptions
| Option | Description | Default |
|--------|-------------|---------|
| --url <url> | Target URL (required) | — |
| --browser <name> | Browser: chrome, edge, firefox, safari | all |
| --names <n1,n2> | Only extract specific cookie names | all |
| --chrome-profile <name> | Chrome profile name | Default |
| --format <fmt> | Output format: json, header, agent-browser | json |
| --inject-agent-browser | Inject cookies into a running agent-browser session | false |
| --dry-run | With --inject-agent-browser, print commands only | false |
| --verbose | Show warnings and details | false |
Output Formats
json — Playwright-compatible cookie array with normalized domains:
[
{
"name": "session",
"value": "abc123",
"domain": ".example.com",
"path": "/",
"secure": true,
"httpOnly": true,
"expires": 1800000000
}
]header — Single-line Cookie header value:
session=abc123; csrf=xyz789agent-browser — Executable command sequence:
agent-browser cookies set session abc123 --domain .example.com --path / --secure --httpOnly --expires 1800000000Injecting into agent-browser
Start an agent-browser session first, then inject:
agent-browser open about:blank
sweet-cookie-cli --url https://example.com/ --inject-agent-browser
agent-browser open https://example.com/Note: cookies are set with --domain so they can be injected before navigating to the target URL.
Domain Normalization
Browsers internally store cookies for root domains without a dot prefix (e.g., example.com). However, in the Playwright/CDP cookie API, example.com means exact match only — it won't match www.example.com or api.example.com.
This tool normalizes domains by adding a . prefix to root domains (e.g., example.com → .example.com) so cookies match all subdomains, which is the standard browser behavior. Cookies already on a subdomain (e.g., www.example.com) or single-label hosts (e.g., localhost) are kept as-is.
Development
npm install
npm run build # Compile TypeScript
npm test # Run unit tests
npm run dev -- --url https://example.com/ # Run without buildingLicense
MIT
