honeycomb-cli

module
v0.0.0-...-c87f09a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 17, 2026 License: MIT

README

Honeycomb CLI

Unofficial CLI for Honeycomb, modeled after the GitHub CLI (gh).

Installation

go install github.com/bendrucker/honeycomb-cli/cmd/honeycomb@latest

Authentication

honeycomb auth login

In interactive mode, the login command prompts for key type and credentials. Non-interactively, pass --key-type and --key-secret (and --key-id for management keys) as flags.

Check the status of stored credentials:

honeycomb auth status
Key Types
Type Header Used For
config X-Honeycomb-Team Configuration API (boards, SLOs, triggers, columns, queries)
ingest X-Honeycomb-Team Sending events
management Authorization: Bearer Management API (environments, API keys)
Security

API keys are stored in your operating system's keyring (macOS Keychain, GNOME Keyring, Windows Credential Manager) via zalando/go-keyring. Keys are never written to disk or stored in environment variables. The keyring service name is honeycomb-cli, and each key is stored under {profile}:{type} (e.g. default:config).

All keyring operations have a 3-second timeout to prevent the CLI from hanging if the keyring is locked or unavailable.

Usage

Commands follow a honeycomb <resource> <action> pattern:

honeycomb dataset list
honeycomb board get --slug my-board
honeycomb query run --dataset my-dataset --query-json '{"calculations": [{"op": "COUNT"}]}'
honeycomb trigger create --dataset my-dataset --name "Error rate" --threshold 100

Run honeycomb help or honeycomb <resource> --help for full details.

Available Resources

api, auth, board, column, dataset, environment, key, marker, mcp, query, recipient, slo, trigger

Global Flags
Flag Description
--profile Configuration profile (default: default)
--format Output format: json or table
--no-interactive Disable interactive prompts
--api-url Override the Honeycomb API URL
Output Formats

The --format flag supports json and table. Default is table in a TTY, json otherwise. List commands always default to table for compact, scannable output — even in non-TTY or agent contexts.

Agent Detection

When running inside an AI coding agent (Claude Code, Cursor, Codex, GitHub Copilot, Windsurf, Cline), the CLI automatically disables interactive prompts.

Development

go build -o /dev/null ./cmd/honeycomb
go test ./...
go vet ./...
golangci-lint run ./...

The API client is generated from api.json (Honeycomb's OpenAPI spec) using oapi-codegen:

go generate ./internal/api/...

Directories

Path Synopsis
cmd
api
command
Package command holds helpers shared by the resource CRUD commands: delete confirmation, definition-file intake, flag-override merging, and resolving a missing flag value through an interactive prompt.
Package command holds helpers shared by the resource CRUD commands: delete confirmation, definition-file intake, flag-override merging, and resolving a missing flag value through an interactive prompt.
honeycomb command
key
mcp
slo
internal
api
Package api provides primitives to interact with the openapi HTTP API.
Package api provides primitives to interact with the openapi HTTP API.
api/genreadonly command
build
Package build formats the version metadata that GoReleaser stamps into the binary through its default -X main.{version,commit,date} ldflags.
Package build formats the version metadata that GoReleaser stamps into the binary through its default -X main.{version,commit,date} ldflags.
jq

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL