● Open Source · v2026.5.2 · MIT Licensed
BossHogg
The agent-first CLI for PostHog.
$
32 GA resources HogQL native Agent-native JSON Claude Code skill
AARON K. WHITE · MAY 2026 COMMUNITY DEMO · 01
BossHogg mascot
● WHAT IS BOSSHOGG
A PostHog CLI built for
two kinds of work.
● FOR HUMANS
Terminal ops
·Flag management without opening a browser
·HogQL queries you can pipe and script
·Quick rollback: kill a flag from wherever you are
·CI/CD flag gates without hitting the web UI
● FOR AGENTS
Agent loops
·JSON-first output: pipe-safe, no parsing surprises
·Structured errors with hints: agents self-correct
·Deterministic exit codes: no text parsing in CI
·Claude Code skill: loads on demand, not upfront
02 · TERMINAL OPSTWO USE CASES · ONE BINARY
● WHAT IS BOSSHOGG
A PostHog CLI built for
two kinds of work.
● FOR HUMANS
Terminal ops
·Flag management without opening a browser
·HogQL queries you can pipe and script
·Quick rollback: kill a flag from wherever you are
·CI/CD flag gates without hitting the web UI
● FOR AGENTS
Agent loops
·JSON-first output: pipe-safe, no parsing surprises
·Structured errors with hints: agents self-correct
·Deterministic exit codes: no text parsing in CI
·Claude Code skill: loads on demand, not upfront
03 · WHAT IS ITTWO USE CASES · ONE BINARY
● THE BOSSHOGG
On demand.
Deep coverage.
Built for agents.
Thirty-two PostHog resources in a single binary.
Built for agents. Readable for humans.
04 · THE BOSSHOGGON DEMAND · DEEP COVERAGE · BUILT FOR AGENTS
● COVERAGE
8 product areas. 32 resources.
Every GA resource · No gaps.
v2026.5.2 · 549 tests
wiremock integration suite
QUERY

HogQL

  • Inline + file queries
  • Async for big result sets
  • Auto-LIMIT 100 guard
FLAGS

Feature Flags

  • list · get · create · update
  • Rollout % + targeting rules
  • Disable with --yes gate
ANALYTICS

Insights + Dashboards

  • insight list · get · refresh
  • dashboard tiles · snapshot
  • cohort members · history
EXPERIMENTS

A/B + Surveys

  • experiment list · get · create
  • survey · early-access CRUD
  • annotation · event definitions
PEOPLE

Persons + Events

  • person timeline · merge · GDPR
  • event tail · values · get
  • group · action · property defs
PIPELINE

Hog + Exports

  • hog-function invoke · logs
  • batch-export runs · backfills
  • session-recording · playlist
AI OBS

LLM Analytics

  • llm-analytics traces · costs
  • evaluation · dataset CRUD
  • $ai_* event summarization
AND MORE
  • error-tracking · releases
  • role · alert · org · project
  • subscription · annotation
  • growing with every release
05 · COVERAGE
● FITS YOUR STACK
Use all the tools.
Each has a job.
MCPs serve a purpose. But they front-load everything an agent might need. bosshogg was built on a different idea: agents need tools, not manifests. A CLI on the PostHog API: call what you need, when you need it.
ToolMade forBest atReach for it
PostHog Web UI Everyone Visual analytics, dashboards, onboarding wizards Use the web ↗
PostHog MCP Claude + AI assistants Interactive charts, Max AI wizard, guided flows Use MCP ↗
@posthog/cli Release pipelines Source maps, dSYM, crash symbolication Use @posthog/cli
bosshogg Terminal + agent loops Operational admin, HogQL queries, CI scripts You're here
06 · FITS YOUR STACKCOMPLEMENTARY · NOT COMPETING
● THE CONTEXT TRADE-OFF
Context has a cost.
MCP servers front-load everything. Great for discovery, expensive for automation. bosshogg is built on a different idea: tools on top of the API, invoked on demand, nothing loaded until you need it.
Industry benchmarks, not bosshogg-specific claims.
PostHog MCP manifest
~39k tokens
127 tools · loaded at session start
GitHub MCP vs gh CLI  OnlyCLI
32× gap
44k tokens vs 1.4k on identical tasks
On-demand loading  Anthropic Tool Search
85% reduction
Load only the tools you need, when you need them
Dynamic toolsets  Speakeasy
97% reduction
Lazy-loaded tools vs full manifest at session start
07 · CONTEXT TRADE-OFFIDLE COST IS THE TAX
● WHAT DO YOU DO WITH THIS
Real jobs. Real commands.
INCIDENT RESPONSE

Kill a flag fast

2am, prod is on fire. No browser, no VPN to the dashboard.

$ bosshogg flag update bad-flag \
  --disabled --yes
SAFE ROLLOUT

Agent-driven ramp

Agent queries error rate via HogQL, ramps the flag if green. No human in the loop.

$ bosshogg query run "SELECT ..."
$ bosshogg flag update ... --yes
USER DEBUGGING

Debug a specific user

Person timeline, flag variants, recent events. All from a shell pipeline.

$ bosshogg person get [email protected] \
  --json | jq '.distinct_id'
CI/CD

Gate a deploy

Check flag state before merging. Fail the pipeline if it's not ready.

$ bosshogg flag get new-checkout \
  --json | jq -e '.active'
LLM OBSERVABILITY

Audit AI costs

Find which model, prompt, or user is burning your LLM budget from the terminal.

$ bosshogg llm-analytics \
  evaluation-summary --json
AGENT ANALYTICS

Ask PostHog in a loop

LLM writes the HogQL, bosshogg runs it, agent interprets results. No API key juggling.

$ bosshogg query run --file q.sql \
  --json --async
08 · JOBS TO BE DONEREAL WORKFLOWS · REAL COMMANDS
● DEMO
Just type bosshogg.
bosshogg · ~/projects/my-app
$
09 · DEMOJUST TYPE BOSSHOGG
● AGENT LOOP
One agent. Many calls.
Zero ceremony.
claude-sonnet-4-6 · ~/src/hog-cli
❯
►► auto mode on (shift+tab to cycle)
10 · AGENT LOOPBOSSHOGG IN A LOOP
● AGENT-NATIVE DESIGN
Built for agents.
→
JSON-first output
--json everywhere · compact · no envelope · pipe-to-jq friendly
→
Structured errors
{error, code, message, hint, retry_with} · agents self-correct
→
Deterministic exits
10 auth · 20 not-found · 30 bad-request · 40 rate-limit
→
Claude Code skill
Ships in the binary · loads on demand · designed for low idle cost
Terminal window running bosshogg in a laptop screenshot
11 · AGENT-NATIVEJSON CONTRACT IS THE API
● DEPLOYMENT
Cloud and self-hosted.
One config.
REGIONS

US, EU, Self-Hosted

  • kubectl-style named contexts
  • Multi-project, multi-region in one config
  • --context flag per invocation
PRIVACY

Self-Hosted = Local

  • Anonymous telemetry auto-disables on self-hosted
  • Nothing leaves your network
  • DO_NOT_TRACK=1 always honored
TRANSPORT

HTTPS by Default

  • Cloud always strict: release builds enforce
  • http:// allowed for self-hosted internal nets
  • Per-context opt-in via --allow-http
DOCTOR

Knows Your Instance

  • Probes server version on connect
  • Cloud-only features fail with 61 FEATURE_NOT_AVAILABLE
  • Clean errors instead of confusing 404s
12 · DEPLOYMENTCLOUD · EU · SELF-HOSTED
● TAKEAWAY
MCPs are for discovery.
CLIs are for loops.
EXPLORE

MCP wins.

  • Interactive sessions, Max AI wizard
  • Chart rendering, one-off questions
  • That's what it's designed for
AUTOMATE

Go direct.

  • Agent loops, CI scripts, recurring queries
  • JSON output, deterministic exit codes
  • What the agent actually needs, nothing more
ERRORS

Agents don't read prose.

  • They read exit codes and JSON fields
  • hint + retry_with let agents self-correct
  • No spinning. No retries on the wrong thing.
BOTH

Use them together.

  • MCP for the pretty stuff
  • BossHogg for the loop
  • Not competitors. Different jobs.
13 · TAKEAWAYMCP FOR DISCOVERY · CLI FOR LOOPS
● QUICKSTART
One line.
Then you're in.
Homebrew tap · crates.io · GitHub Releases
aarch64 + x86_64 · macOS + Linux
Homebrew (recommended)
$ brew install aaronkwhite/tap/bosshogg
Cargo
$ cargo install bosshogg
Then authenticate (Cloud)
$ bosshogg login # browser device-flow $ bosshogg doctor # verify everything
Self-hosted? Configure instead
$ bosshogg configure # wizard: host + API key
14 · QUICKSTARTBREW · CARGO · SOURCE
Open Source · v2026.5.2 · MIT Licensed
Open Source 32 GA Resources Cloud + Self-Hosted
BossHogg
The agent-first CLI for PostHog.
GitHub github.com/aaronkwhite/bosshogg-cli
LinkedIn linkedin.com/in/aaronkwhite
BOSSHOGG · COMMUNITY DEMO · MAY 2026 15
BossHogg waving mascot