> ## 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.

# Changelog

> New features and improvements to Buttons.

<Update label="2026-04-17" description="Board opens in its own terminal window">
  ## Board opens in its own terminal window

  `buttons board` now launches in a dedicated terminal window so your current shell stays free.

  ### New features

  * **Own-window by default** — running `buttons board` opens the dashboard in a new OS-native terminal window and immediately returns your shell prompt. No more dedicating a tab to the dashboard — it lives in its own window that you can close whenever you're done. Works on macOS, Linux, and Windows.

  * **`--inline` flag** — pass `--inline` to render the board in the current terminal, the way it worked before. Useful over SSH, inside tmux, or in headless environments. See the [CLI reference](/cli/buttons_board).

  * **Automatic fallback** — if your system can't open a new window (e.g. no display server), the board falls back to inline mode automatically so the command never silently fails.
</Update>

<Update label="2026-04-17" description="Ambient board dashboard">
  ## Ambient board dashboard

  The board is now an always-on dashboard you leave open in a spare terminal.

  ### Updates

  * **Auto-refresh** — the board now polls for changes every two seconds. Buttons created or removed in another terminal appear automatically without closing and reopening the board. A press already in flight keeps its spinner during the refresh.

  * **No visible quit** — the board no longer shows a quit button, `q` keybind, or "press q to quit" hint. Close the board by closing the terminal window, the same way you'd close any app. `Ctrl+C` still works as an emergency escape. See the [CLI reference](/cli/buttons_board).
</Update>

<Update label="2026-04-17" description="Batteries and board dashboard polish">
  ## Batteries and board dashboard polish

  Batteries are now fully functional, and the board dashboard gets a design refresh.

  ### New features

  * **Batteries store** — `buttons batteries set`, `get`, `list`, and `rm` are now fully implemented. Store API tokens, secrets, and environment variables once, and every button press automatically receives them as environment variables. Values are scoped to a project by default, or use `--global` to share across all projects. See the [CLI reference](/cli/buttons_batteries).

  * **Automatic injection** — batteries are injected into every button press as environment variables. You can reference them in your scripts without any extra flags or configuration. Per-press arguments take priority over batteries on key collision, so you can always override a stored value.

  * **Redacted listing** — `buttons batteries list` redacts values by default so you can safely check what's stored without exposing secrets. Pass `--reveal` to see full values.

  ### Updates

  * **Board empty state** — opening `buttons board` with no buttons now shows a helpful getting-started screen with example commands instead of a blank page.

  * **Board press feedback** — pressing a button from the board now shows a spinner while it runs and a success or failure indicator when it finishes. List rows display check and cross glyphs so you can see session results at a glance.

  * **Board footer** — the footer now shows clickable action buttons and keyboard hints (`↑↓ nav · ↵ press · q quit`) so you can discover controls without a help overlay.
</Update>

<Update label="2026-04-17" description="Agent skill picker in buttons init">
  ## Agent skill picker in buttons init

  `buttons init` now sets up your coding agents alongside your project.

  ### New features

  * **AGENT.md auto-generated** — running `buttons init` now writes a `.buttons/AGENT.md` file that gives AI agents a quick reference for how Buttons works. The file is updated automatically on each run, so it always matches your installed version.

  * **Agent skill picker** — on interactive terminals, `buttons init` prompts you to install Buttons skill files for your coding agents. Supported targets include Cursor (`.cursor/rules/buttons.mdc`), Claude Code (`CLAUDE.md`), Cline (`.clinerules`), GitHub Copilot (`.github/copilot-instructions.md`), and AGENTS.md. Select the agents you use and the right config files are created for you. See [skill.md](/ai/skill-md) for more on agent skills.

  * **Non-interactive mode** — pass `--agent cursor,claude` to install specific skill files without the picker, or `--agent none` to skip it entirely. JSON output and `--no-input` mode skip the picker by default.

  * **Idempotent updates** — re-running `buttons init` updates existing skill files in place rather than duplicating content, so you can safely re-run it after upgrading Buttons.

  ### Bug fixes

  * **Agent picker no longer skips silently** — the interactive agent skill picker in `buttons init` now uses a single-select list instead of a multi-select. Previously, pressing Enter without first pressing Space to toggle a choice would submit an empty selection with no warning. The picker also adds an explicit "None (skip)" option so opting out is intentional. You can still install multiple agent skills in one go with the `--agent` flag (e.g. `--agent cursor,claude`).
</Update>
