cmux NEXT: Show Chief Pet in the View menu, the palette and the CLI

Merged
TE
16d ago
+476-46

Leo: the Chief pet toggle "ought to be a hell of a lot more obvious". It was only at Settings > Home > Chief Pet > Show Chief Pet.

This adds one action, home.toggleChiefPet, on two surfaces:

  • View menu: Show Chief Pet, or Hide Chief Pet while the pet shows (the Show/Hide Toolbar pattern, via ActionTargetTitles.set).
  • Command palette: the same row, titled the same way (setPaletteTitle), found by chief, pet, mascot, companion, floating, show, hide.

Each run flips home.chiefPetEnabled through SettingsController.setSetting as the caller. The key is user-only, so the action is person-only with no CLI verb: the control socket refuses it whatever origin a caller claims (cmux action run, MCP), and the settings layer refuses an agent's write too. An earlier revision offered cmux home toggle-chief-pet; review found it could never succeed, so it is gone. Settings > Home keeps its row, and #21822's Chief Pet page is unaffected.

The empty Chief conversation's offer comes in the Chief front-page redesign PR, which builds on this one.

Testing

  • ChiefPetToggleTests (new, CmuxNextSettingsTests):
    • the catalog puts it in the View menu and the palette, person-only and GUI-only;
    • two runs turn the pet on and off, and the palette and menu titles read Hide Chief Pet only while it shows;
    • an mcp run fails and leaves the pet off.
  • The action exports (action-surfaces.json, actions.md) are left to the autofix bot, as regenerate-action-exports.sh says.
  • Localization: action.home.toggleChiefPet (HomeActions) and chiefPet.hide (CmuxNextSettings) have all 20 shipped locales, reusing the existing Chief Pet wording in each (settings.group.chiefPet), marked needs_review.

Observed / Not run

Nothing was built on a Mac here (no local builds by policy). Compilation and the new tests run in this PR's CI; I didn't see the menu item live.

Changelog

  • Added: View > Show Chief Pet and a palette row turn the floating Chief pet on and off.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Adds home.toggleChiefPet to the View menu and the command palette so the floating Chief pet can be shown or hidden without visiting Settings > Home > Chief Pet.

  • The menu item and palette row read "Hide Chief Pet" while the pet shows.
  • The action is person-only with no CLI verb; agent runs are refused and leave the pet unchanged.
  • Bound from CmuxNextSettings via HomeSettingActions, which also serves the Channels toggle, to stay under the app size cap.
  • Two quick runs before the first write flip the newest pending value, so a double-invoke puts the pet back as it began.
  • Translations for the two new strings ship in all locales marked needs_review, and the action exports are regenerated by the autofix bot.