Repository navigation
Conversation
The SessionStart statusline hint told the model to "proactively offer" and to edit settings.json. Reword all three variants as statements of fact for the user, ending with "Mention this to the user once; change settings.json only if they ask for it." Paths, snippet, once-only flag and shell-safety logic are unchanged. Tests pin the wording on the setup, broken-path and unsafe-path branches. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
On the first session start without a statusline, and after an update that leaves the configured path dangling,
ponytail-activate.jsadds a note to the context. Each version of that note ends with "Proactively offer to set this up / fix this for the user on first interaction." That tells the model to start a change to the user'ssettings.jsonon its own. A plugin shouldn't steer the agent toward editing the user's config, even with a confirmation step in between.This PR keeps every fact in the three notes (BROKEN, SETUP, and the manual-setup path) and drops the call to action:
isShellSafe, the snippet and the paths.tests/hooks.test.js: new assertions for all three branches, checking the wording and that "Proactively" doesn't appear. It also adds a scenario for the manual-setup branch, which had no test before, using a config dir with$in its name.Tests:
node --test tests/*.test.jsgives 143 of 144 passing. The one failure iscsv: correct pandas one-liner passes, which also fails onmainin my environment (no pandas).npm test --prefix pi-extensionpasses 30 of 30.🤖 Generated with Claude Code
https://claude.ai/code/session_01J9HLRpQYgqTqGkrBigkfaS