This runbook covers service consumption of gemini-cli JSON output for:
diag rate-limits(single/all/async)auth login|use|save|remove|refresh|auto-refresh|current|sync
Shared baseline guidance:
docs/specs/cli-service-json-contract-guideline-v1.md
Gemini-specific contract source:
crates/gemini-cli/docs/specs/gemini-cli-diag-auth-json-contract-v1.md
diag rate-limits=>schema_version=gemini-cli.diag.rate-limits.v1auth *=>schema_version=gemini-cli.auth.v1
auth loginstable method values:chatgpt-browserchatgpt-device-codeapi-key
auth saveoverwrite confirmation failure code:overwrite-confirmation-required
auth removeconfirmation failure code:remove-confirmation-required
auth currentsecret-dir resolution failure codes:secret-dir-not-configuredsecret-dir-not-foundsecret-dir-read-failed
- Follow the shared parsing/retry baseline from
docs/specs/cli-service-json-contract-guideline-v1.md. - Route logic by both
commandand gemini schema ids above. - Treat informational metadata (for example
raw_usage) as optional. - Keep provider-specific behavior handling in gemini caller code paths only.
Example commands:
gemini-cli diag rate-limits --format json alpha.json
gemini-cli diag rate-limits --all --format json
gemini-cli auth login --format json
gemini-cli auth login --format json --device-code
gemini-cli auth login --format json --api-key
gemini-cli auth save --format json --yes team-alpha.json
gemini-cli auth remove --format json --yes team-alpha.json
gemini-cli auth auto-refresh --format json
gemini-cli auth current --format json