Add Fork Conversation action to tab context menu
Merged
AZ
6mo ago+22+22+01234567890123456789-0-0-0123456789
Summary
- New
.forkConversationcase inTabContextAction - New host-provided
tabContextForkConversationAvailabilityProvideronBonsplitController - Menu item added to
TabContextMenuBuilder(shown only when the provider returns true) - English + Japanese strings, test fixture updated for the new
canForkConversationfield
Used by cmux (see manaflow-ai/cmux companion PR) to surface a Fork Conversation entry when a tab is running an active forkable Claude or Codex session.
Test plan
-
swift build --build-testsclean - Visual: right-click a terminal tab whose host returns
truefor the provider, confirm "Fork Conversation" appears
🤖 Generated with Claude Code
Summary by cubic
Adds a “Fork Conversation” action to the tab context menu, shown only when the host says it’s available. This lets apps surface forking for tabs running an active, forkable agent session.
-
New Features
- Added
TabContextAction.forkConversation. - Added
BonsplitController.tabContextForkConversationAvailabilityProviderto control visibility. - Menu item appears only when the provider returns true.
- Added English and Japanese strings.
- Added
-
Migration
- If you switch exhaustively on
TabContextAction, add a.forkConversationcase (or a default). - Implement the new provider to enable the item for tabs with forkable sessions.
- If you switch exhaustively on
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.
Summary by CodeRabbit
- New Features
- Added "Fork Conversation" action to the tab context menu, allowing users to fork conversations directly from the interface without additional navigation. The feature is fully localized in English and Japanese. Host applications can selectively enable this action on a per-conversation basis.