The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Ebman listing page.
A k9s-style TUI for AWS Elastic Beanstalk. Triage red envs, stream logs, edit option settings, deploy new versions — all from the keyboard. If you've used k9s with Kubernetes, the muscle memory carries: : for commands, / to filter, Enter to drill in, ? for context-aware help.
Install · Quickstart · Triage workflow · Highlights · Why ebman? · Docs

Captured from
ebman --demo, the synthetic-fleet mode that ships with the binary. Regenerate the gif withvhs demo.tapeafter a code change.
Homebrew (macOS / Linux):
Cargo:
Pre-built binary: download the tarball for your platform from the GitHub Releases page, verify the *.sha256 next to it, extract, and put ebman on your PATH.
Tested on Rust 1.94.1+ (the AWS SDK sets the floor). macOS (Apple Silicon + Intel) and Linux x86_64. AWS SDK uses the standard credentials chain (AWS_PROFILE / AWS_REGION env, ~/.aws/credentials, instance role, etc.).
For the prettier glyph set (Powerline pill chain, Nerd Font tab icons), see docs/fonts.md. The default icons = "unicode" works fine in any terminal.
Once running, press ? for a per-context keymap (Detail, DLQ, Action menu, Saved-configs overlay all have scoped help).
Production env goes red at 3am. From your terminal:
ebman — launch; prod-api shows up tinted red in the table/prod-api ↵ — jump to it! — open :why: recent events / alarms / instance health / last deploys, all in one overlay:diff prod-api staging-api — confirm staging is still on the previous version:rollback — redeploy the last-known-good version label, with a 5-second undo window~/.cache/ebman/audit.logFive keystrokes to triage, one command to fix. The AWS-console alternative is a minimum of five page-loads, two tabs, and zero audit trail.
Built for operators who triage EB envs daily and don't want the AWS console round-trip — or the eb deploy ; aws elasticbeanstalk describe-events --max-items 50 | jq ... shell-pipeline every time something goes red.
:why opens a one-screen diagnostic: recent events + alarms + instance health + last deploys, with a DLQ peek for Worker envs.:incident START "headline" freezes deploys fleet-wide, pins a header banner with a running clock, and audit-logs the window; :event-tail streams EB events across every env in one overlay; ebman audit replay <line-id> re-runs an audited action for post-incident review.:diff env-A env-B for option-setting deltas, :lineage for the deploy timeline, :alarm-history NAME for CW state transitions, :config-diff-local against a local EB CLI saved config.--preview), saved configs, CW alarms CRUD, ALB scheme, instance type, capacity, deployment policy, plus a generic :set-option escape hatch.:ssh i-abc opens an embedded session; :ssm-run "<cmd>" fans a shell command across the env's instances.:region all parallel queries, :account NAME via sts:AssumeRole, :find-env / :org-health walk every ~/.aws profile + configured account.space multi-selects, then :batch-* fans out in parallel with audit + pending-pill rows.--read-only flag, typed-name confirms, per-env / per-account read-only pins, full audit log at ~/.cache/ebman/audit.log.--control-socket PATH, ebman envs --json, ebman action rebuild --env NAME, ebman ctl screen / state / cmd <:cmd>.ebman mcp serve exposes the read surface (envs, lint, drift, option settings, events, versions, cost) as MCP tools, so Claude Code or any MCP client can query your fleet first-class instead of shelling out and re-parsing. --allow-writes adds opt-in, two-phase deploy / restart / rebuild / terminate / set_option (the tool returns a plan, then confirm_action dispatches) — honouring the same safety pins, read-only, and a cross-process incident freeze the TUI uses, and auditing every dispatch.You probably already have one of these:
| Tool | What it's good at | Where it falls short for daily EB triage |
|---|---|---|
| AWS Console | Approachable, complete UI surface. | Page loads, eventually-consistent state, 5 tabs to triage one env. Fine for occasional ops, painful at 3am. |
eb CLI | A single project's deploy flow (eb deploy, eb logs). | No multi-env view, no live drill-down, no diff between envs, no SQS DLQ workflow. |
aws elasticbeanstalk | Raw API access, scriptable. | You build the workflow out of --query / jq pipelines yourself. No live updates, no triage view. |
| k9s + EKS | The pattern this tool is modelled on. | Doesn't exist for Elastic Beanstalk. |
ebman is k9s-for-EB: keyboard-driven, drill-down-first, focused on operators who triage red envs daily and want one screen for "what's wrong" and "what changed". The nearest peer in the broader Rust-TUI / k9s-style space is e1s (k9s-for-ECS); ebman is broader on the write surface and adds multi-account fan-out, an audit log, per-env safety pins, and an embedded SSM-session pane.
:command grouped by job (navigation, per-env, write, multi-account, bulk).~/.config/ebman/config.toml, plugin commands, project-local pinning.--control-socket + ebman ctl for scripts / CI; the CLI subcommands; shell completion (ebman completions); and the ebman mcp serve MCP server (read tools + opt-in two-phase writes) for Claude Code and other agents — run ebman mcp setup for the exact registration commands.Dual-licensed under MIT or Apache-2.0. See LICENSE-MIT and LICENSE-APACHE.
Built and open-sourced by Polymorphism — enterprise software, cloud & AI. More on the ebman product page.
MCP Registry name: mcp-name: io.github.tombaldwin/ebman