Automated Account Rotation
Boss can now automatically switch coding-agent sessions to a different account when one hits a usage cap, without any manual intervention. For headless runs (cron jobs and implementation tasks), Boss detects the cap on exit, cools down the exhausted account, picks the next eligible one, and resumes the run from where it left off. For live chat sessions, Boss detects the cap from the pane output and respawns the chat under the new account, posting a notice in the conversation (“switched to account-name, previous account resets ~15:00”). When all accounts are cooling down, Boss parks the session and notifies you once with a resume time.
You can also switch accounts manually from the TUI, the web UI, or with boss account switch , and the conversation resumes under the new account rather than starting fresh.
The full rotation picture also includes: a per-account audit trail of every switch (trigger, from/to account, reset time, outcome) visible in session detail; a global kill-switch in TUI settings and the CLI; and a clear “usage-limited (resets ~15:00)” badge on any session or chat that is waiting out a cap.
Features
- Usage-cap detection. Boss now recognizes when an agent hits a usage cap, both when a headless run exits and when a live chat shows a limit banner. The reset time is parsed and shown wherever session status appears.
- Usage-limited badge. Sessions and chats that are waiting out a cap show a warning badge with the estimated reset time in the TUI and web session list and detail views.
- Manual account switching. You can now switch a running session or chat to a different account from the TUI, the web UI, or the CLI. The conversation resumes under the new account.
- Auto-rotation for headless runs. Cron jobs and implementation runs that hit a cap are automatically restarted under the next available account, with a steering notice prepended to the resumed prompt.
- Auto-rotation for live chats. Interactive chat sessions that hit a cap are automatically respawned under the next eligible account, with an in-chat notice.
- Rotation audit log. Every rotation decision is recorded and shown in session detail so you can see what happened and when.
- Rotation kill-switch. Auto-rotation can be disabled globally from TUI settings or the CLI.
- Skills renamed to
boss-*. The five built-in dev skills (bs-plan, bs-implement, bs-review, bs-epic, bs-proof) are now named boss-plan, boss-implement, boss-review, boss-epic, and boss-proof. Behavior is unchanged; the new names ship through the existing public distribution path.
- Skill generalization foundations. Tracker integration, plan publishing, and several internal skill behaviors are now driven by pluggable adapters and a declarative config file (
.boss-skills.json), making the skills usable in repos beyond Bossanova’s own setup. This release lays the groundwork; more consuming-repo support follows in later releases.
boss-implement runs without a connected Boss daemon. The implementation skill now degrades gracefully when run outside a managed Boss session, using its own branch and PR rather than requiring daemon-injected setup.
- Plan description versioning. Plans emitted by
boss-plan now carry a version marker, and boss-implement will reject plans whose format version it does not recognize, preventing silent drift between the two skills.
Improvements
boss-epic rollup fix. An epic whose children mix not-started and in-progress states now correctly shows as “In Progress” rather than being pulled down to the least-advanced child’s state.
- Busy sessions stay “working”. A Claude session running a background shell command that keeps the pane static was sometimes reported as idle. Boss now recognizes the “N shell(s) still running” and “esc to interrupt” indicators and keeps the session marked as working.
- Enter opens cron job editing. In the Scheduled Jobs list, pressing Enter now opens the highlighted job for editing, the same as pressing
e.
- Faster incremental formatting.
make format-affected now formats only the files changed since main, rather than walking the entire repo. This makes it practical to run during development; CI’s full format check is unchanged.
Fixes
- Fixed an issue where starting a Codex chat inside a session originally created as a Claude session would fail because the Codex CLI received a Claude model name it could not recognize.
- Fixed an issue where the merge gate would permanently block a pull request that had an empty automated review comment, even after the underlying issue was resolved.
- Fixed an issue where MCP tools were unavailable in local development sessions due to the dev daemon starting in the wrong location.
- Fixed an issue where the public changelog was silently not written on each release due to an incorrect repository reference in the generation script.