@@ -40,6 +40,7 @@ import (
40 "github.com/charmbracelet/crush/internal/permission"
40 "github.com/charmbracelet/crush/internal/permission"
41 "github.com/charmbracelet/crush/internal/session"
41 "github.com/charmbracelet/crush/internal/session"
42 "github.com/charmbracelet/crush/internal/stringext"
42 "github.com/charmbracelet/crush/internal/stringext"
43+ "github.com/charmbracelet/crush/internal/version"
43 "github.com/charmbracelet/x/exp/charmtone"
44 "github.com/charmbracelet/x/exp/charmtone"
@@ -194,6 +195,7 @@ func (a *sessionAgent) Run(ctx context.Context, call SessionAgentCall) (*fantasy
194 largeModel.Model,
195 largeModel.Model,
195 fantasy.WithSystemPrompt(systemPrompt),
196 fantasy.WithSystemPrompt(systemPrompt),
196 fantasy.WithTools(agentTools...),
197 fantasy.WithTools(agentTools...),
198+ fantasy.WithUserAgent("Charm Crush/"+version.Version),
199 sessionLock := sync.Mutex{}
201 sessionLock := sync.Mutex{}
@@ -592,6 +594,7 @@ func (a *sessionAgent) Summarize(ctx context.Context, sessionID string, opts fan
593 agent := fantasy.NewAgent(largeModel.Model,
595 agent := fantasy.NewAgent(largeModel.Model,
594 fantasy.WithSystemPrompt(string(summaryPrompt)),
596 fantasy.WithSystemPrompt(string(summaryPrompt)),
597+ fantasy.WithUserAgent("Charm Crush/"+version.Version),
596 summaryMessage, err := a.messages.Create(ctx, sessionID, message.CreateMessageParams{
599 summaryMessage, err := a.messages.Create(ctx, sessionID, message.CreateMessageParams{
597 Role: message.Assistant,
600 Role: message.Assistant,
@@ -787,6 +790,7 @@ func (a *sessionAgent) generateTitle(ctx context.Context, sessionID string, user
787 return fantasy.NewAgent(m,
790 return fantasy.NewAgent(m,
788 fantasy.WithSystemPrompt(string(p)+"\n /no_think"),
791 fantasy.WithSystemPrompt(string(p)+"\n /no_think"),
789 fantasy.WithMaxOutputTokens(tok),
792 fantasy.WithMaxOutputTokens(tok),
793+ fantasy.WithUserAgent("Charm Crush/"+version.Version),