gccli
bpauli/gccli
Garmin Connect command-line client with JSON output and a bundled agent skill for Hermes
gccli is a Go command-line client for Garmin Connect that also ships an agent skill usable from Hermes Agent, Claude Code, Codex and OpenClaw. It lets an agent read activities, health data and workouts from Garmin Connect in plain language.
What gccli does
gccli is a Go command-line client for Garmin Connect. It reads and manages activities (list, search, download as FIT, GPX, TCX, KML or CSV, upload, rename, delete), health data such as sleep, heart rate, HRV, stress, body battery and training readiness, body composition, workouts, courses, devices, gear, goals, badges, hydration, nutrition and calendar events. Output is JSON-first, with plain and TSV modes for scripts, and tables follow the km or miles setting in your Garmin profile.
The repository bundles an agent skill in skills/gccli/ that plugs into Claude Code, Codex, Hermes and OpenClaw, so an agent can drive Garmin Connect in plain language. Login uses browser SSO or a headless mode for servers, and tokens are kept in the OS keyring (macOS Keychain, Linux Secret Service or an encrypted file fallback) and refresh automatically. It supports multiple accounts through an --account flag, retries on 429 and 5xx responses with exponential backoff and a circuit breaker, and generates shell completion for bash, zsh, fish and PowerShell.
Key features
- Activities: list, search, download in FIT, GPX, TCX, KML or CSV, upload and edit
- Health data including sleep, heart rate, HRV, stress, SpO2, body battery and VO2max
- Workouts, courses, devices, gear, goals, badges, hydration and nutrition
- Bundled agent skill in skills/gccli/ for Claude Code, Codex, Hermes and OpenClaw
- Browser SSO or headless login, with tokens stored in the OS keyring
- JSON, plain and TSV output, multiple accounts and shell completion
When to use it
- Asking Hermes about last night's sleep or this week's training readiness in plain language
- Exporting activities as FIT or GPX files from a script
- Uploading a workout from JSON and scheduling it on a Garmin device
Who it is for: Garmin users who want to read their data from a terminal or script, or let an AI agent such as Hermes do it for them.
How it fits with Hermes Agent
Supports Hermes Agent as one of four agents that can load the bundled gccli skill; the CLI itself is a general tool that works without any agent.
How to install gccli
These commands are copied from the project's README. Check the repository for the latest steps before you run them.
brew install bpauli/tap/gccli
gccli auth login you@example.comRequirements: A Garmin Connect account, and Go 1.24+ if building from source
FAQ
What is gccli?
gccli is a fast, script-friendly command-line interface for Garmin Connect. It covers activities, health data, body composition, workouts, courses, devices, gear, goals and more, with JSON-first output.
Does gccli work with Hermes Agent?
Yes. The repository ships an agent skill in skills/gccli/ that plugs into Hermes, Claude Code, Codex and OpenClaw, so you can drive Garmin Connect in plain language.
How do I install gccli?
On macOS or Linux, run brew install bpauli/tap/gccli, then gccli auth login with your Garmin email. You can also build from source with Go 1.24 or later using make build.
Similar dev tools for Hermes Agent
All dev toolsArchitecture gate for AI coding agents that blocks writes breaking DDD and Clean Architecture rules
vector4wang EdgeGlowmacOS menu bar app that lights up your screen edges while Claude Code or Hermes Agent is working
magicwubiao go-magicGo AI agent framework inspired by Hermes Agent, with a TUI, web dashboard and messaging gateway
freu-ai Freu CLIRecord a browser workflow once and compile it into a reusable skill for Hermes and other agents
GodsBoy Jev Agent Skill RouterTyped, confidence-aware routing that picks which skill an agent should use, or none
fayzan123 rungraphTurns local Claude Code, Codex, Hermes, opencode and Cursor session logs into an interactive graph
Related guides: How to install Hermes Agent · Run multiple Hermes agents with profiles