fix: enable terminal title control via change_title MCP tool #161
+54
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
setTerminalTitle()function using OSC escape sequences to set iTerm2/Terminal.app window title whenchange_titleMCP tool is invokedCLAUDE_CODE_DISABLE_TERMINAL_TITLE=1env var to launcher to prevent Claude Code from overwriting the terminal titlechange_titlenow updates both the terminal window title (for desktop) and the Happy server (for mobile app)Context
The
change_titleMCP tool currently only sends the title to the Happy server for the mobile app. Desktop users (iTerm2, Terminal.app) don't see the title reflected in their terminal tabs/windows. This makes it hard to distinguish between multiple Happy sessions.This fix uses standard OSC 0 escape sequences (
\x1b]0;title\x07) which work with iTerm2, Terminal.app, and most modern terminal emulators.Test plan
change_titleis called🤖 Generated with Claude Code
via Happy