Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.buttons.sh/llms.txt

Use this file to discover all available pages before exploring further.

2026-04-18
Board themes

Board themes

You can now customize the look of the board with built-in color themes.

New features

  • BUTTONS_THEME environment variable — set BUTTONS_THEME to switch the board’s color palette. Four themes are available out of the box: default (adapts to your terminal’s light or dark background), paper (light palette), phosphor (green-on-black CRT look), and amber (warm VT220-style terminal). Unknown values fall back to default, so a typo won’t break anything. See the CLI reference.
  • Persistent theme choice — run buttons config set theme amber to save your preferred theme so it applies every time you open the board. The resolution order is: BUTTONS_THEME environment variable first, then your saved setting, then the default adaptive palette. Use buttons config unset theme to revert to the default. Invalid theme names are rejected at set time so your config stays valid.
2026-04-18
Docker release fix

Docker release fix

Bug fixes

  • Multi-arch Docker images publish correctly again — a change in the build toolchain caused multi-architecture Docker image pushes to fail with a manifest verification error. This has been fixed, and Docker images for all supported platforms are publishing as expected.
2026-04-18
Press animation and live elapsed timer

Press animation and live elapsed timer

The board now gives you visual feedback the moment you press a button and while it runs.

New features

  • Press animation — pressing a button on the board now plays a quick physical-press animation. The button pulses through a keydown, fire, and release sequence before settling into its active state. The effect works with both keyboard and mouse input, so pressing a button feels responsive and tactile.
  • Live elapsed timer — buttons that are currently running now display a live elapsed counter. Short presses show tenths of a second (e.g. “3.2s”), longer presses switch to minutes and seconds, and anything over an hour shows a full clock format. The timer clears as soon as the press finishes, so you always know exactly how long a run has been going. See the CLI reference.
2026-04-18
Logs pane in the board dashboard

Logs pane in the board dashboard

You can now see recent run history for any button without leaving the board.

New features

  • Inline logs pane — press L while focused on a button in the board to open a logs pane that shows the last five runs. Each row displays the result glyph, timestamp, exit code, duration, and a preview of the output. Press L again to hide it. See the CLI reference.
  • At-a-glance results — successful runs show a green check mark; failures show an orange cross. The output preview is the first line of stdout on success, or stderr on failure, truncated to fit your terminal width so every row stays on a single line.
  • Helpful empty states — if no button is focused, the pane tells you to focus one. If the focused button has no runs yet, it prompts you to press it to record one.
2026-04-18
Per-user settings with buttons config

Per-user settings with buttons config

You can now store personal preferences that apply across all your projects.

New features

  • buttons config command — read and write per-user defaults stored in ~/.buttons/settings.json. Run buttons config to see current values, buttons config set to change them, and buttons config unset to revert to built-in defaults. Settings are global by design — personal preferences stay out of your project repos.
  • Configurable default timeout — set default-timeout to change the timeout used when buttons create doesn’t include an explicit --timeout flag. The resolution order is: explicit --timeout flag first, then your default-timeout setting, then the built-in 300 seconds. Useful if your workloads consistently need more (or less) time than the default.
  • Configurable board theme — set theme to persist your preferred board color palette across sessions. Run buttons config set theme phosphor to save it, or buttons config unset theme to revert to the adaptive default. See board themes above for the full list of available themes.
2026-04-18
Next-step hints and CLI polish

Next-step hints and CLI polish

The CLI now tells you what to do next after every successful command.

New features

  • “Next:” hints — after a successful command, the CLI prints a suggested follow-up. buttons create shows the press command, buttons press points to history, and buttons batteries set reminds you how to reference the variable. Hints appear only in interactive terminals and are suppressed with --json or when piping output.

Updates

  • Common flags in help textbuttons create --help and buttons press --help now surface the most-used flags (--timeout, --arg, --dry-run, etc.) at the top, before the full auto-generated list. No new flags — just easier discovery.
2026-04-18
Automatic run history pruning

Automatic run history pruning

Run history is now automatically capped so it doesn’t grow without limit.

Updates

  • Auto-prune to 100 runs — each button’s pressed/ directory is pruned to the most recent 100 runs after every press. Oldest runs are removed first. Non-JSON files and subdirectories are left alone. If pruning fails for any reason, the press still succeeds — cleanup catches up on the next run.
2026-04-18
Higher default press timeout

Higher default press timeout

The default timeout for button presses has been raised from 60 seconds to 300 seconds.

Bug fixes

  • Default timeout raised to 300s — the previous 60-second default was too tight for realistic workloads like ETL jobs, migrations, and long-running API calls. If your first press on a real pipeline hit the timeout, it looked like the tool was broken. The new 300-second default gives scripts room to finish while still protecting against runaways. You can still shorten it per-button with --timeout on create or override per-press with --timeout on press.