a1a4806
v0.67.0
Andrey Nering created
a1a4806
v0.67.0
Andrey Nering created
2235a49
fix: limit view size checks to returned content (#2785)
Greg Slepak created
24da509
fix: properly follow the `Assisted-by` header spec (#2871)
We were not using the correct format. According to the SPEC it should be:
Assisted-by: AGENT_NAME:MODEL_VERSION
So now it'll look like this:
Assisted-by: Crush:kimi-k2.6
See:
https://docs.kernel.org/process/coding-assistants.html#attribution
Andrey Nering created
1d42341
docs(hooks): clarify relative paths
Kieran Klukas created
61a9fce
fix(config): individual errors on json parse
Kieran Klukas created
3b0d5de
chore: auto-update files
Charm created
da262be
fix(schema): fix schema descriptions being cut off
Kieran Klukas created
9d34668
fix(agent): release activeRequests before publishing TypeAgentFinished
I keep hitting a bug where a turn finishes -- desktop notification fires, agent is clearly done -- but the terminal stays stuck on the spinner with input blocked until something unrelated wakes the TUI up. The TUI polls IsSessionBusy() inside its TypeAgentFinished handler and only re-evaluates on incoming tea.Msgs. Run() right now publishes the notification while activeRequests still holds the session's cancel func, so the poll on receipt sees true and the busy gates stay stuck. Reorder so cleanup runs first. 💘 Generated with Crush Assisted-by: Claude Opus 4.7 via Crush <crush@charm.land>
Sven Olsen created
78088cd
fix(lsp): update powernap with fix for lsps windows (#2862)
* Ref https://github.com/charmbracelet/x/pull/853 by @sven2718
Andrey Nering created
445d1a0
chore(deps): bump the all group with 9 updates (#2861)
dependabot[bot] created
615c4e9
chore(deps): bump the all group with 2 updates (#2860)
dependabot[bot] created
7da38da
refactor(tools): remove touch tool; allow empty write content
vorticalbox created
0da13d7
fix(tools/touch): gate outside-workingDir paths via permission prompt
Mirrors the view.go sanitizer pattern (filepath.Abs + filepath.Rel + ".." check) so CodeQL no longer flags os.Stat/MkdirAll/OpenFile in the touch tool as uncontrolled path expressions.
vorticalbox created
010ca2f
feat: add touch tool for empty files
vorticalbox created
302f4ec
chore: modernize errors.As to errors.AsType
Christian Rocha created
32410e2
fix(shell): fix build error post-refactor
Christian Rocha created
09c83e8
Merge pull request #2730 from charmbracelet/hookshell
feat(hooks): use embedded shell by default
Christian Rocha created
ac79e5b
fix(tools/view): detect image mime type; don't rely on extension (#2757)
Christian Rocha created
8f2fd3d
Merge pull request #2788 from charmbracelet/revolve-env-vars-round-two
config: lenient shell expansion default, uniform coverage across MCP, LSP, and providers
Christian Rocha created
b7607a0
chore: auto-update files
Charm created
2814e40
Merge pull request #2782 from charmbracelet/resolve-env-vars
fix(config): restore full shell expansion in MCP config values
Christian Rocha created
d7d25cf
fix(ui/chat): make keyboard expand work for assistant thinking blocks (#2791)
The assistant message type's toggle-expand method returned no value, so it silently failed to satisfy the expandable interface and the keyboard expand path skipped assistant thinking blocks. Expansion only worked via the mouse, which called the concrete method directly. Fixing the signature exposed a second bug: the mouse path then toggled twice per click (once inside the item, once via the generic interface path), netting no change. The item now just reports whether the click hit the thinking box; the generic path does the toggle, gated on that flag so clicks elsewhere do nothing. Adds a runtime regression test plus a compile-time interface assertion so this can't silently come back. Co-authored-by: Crush <crush@charm.land>
Christian Rocha and Crush created
ff0e709
chore(legal): @smeinecke has signed the CLA
Charm created
7a8dd00
chore(legal): @acheong08 has signed the CLA
Charm created
2e9fa66
chore(legal): @sven2718 has signed the CLA
Charm created
b51b1e2
v0.66.1
Andrey Nering created
086cfda
fix: update fantasy with tool call fixes (#2839)
When a tool call is made with invalid arguments, Crush will now report the error back so the model will continue working and can do another attempt. Fix on Fantasy done by @mkaaad. * Ref https://github.com/charmbracelet/crush/issues/2776 * Ref https://github.com/charmbracelet/fantasy/pull/223
Andrey Nering created
44ece2c
fix(tools): truncate long running background commands to 30k chars
Kieran Klukas created
abeaff0
fix(pubsub): respect channelBufferSize parameter in Subsribe
`NewBrokerWithOptions` accepted `channelBufferSize` parameter, but never stored or used it, so `Subsribe`` always used the hardcoded `bufferSize` constant (64).
Yeonuk Hwang created
f970188
chore(legal): @yeonuk-hwang has signed the CLA
Charm created
89181a6
fix(tools): don't return a go error on glob tool failure
Kieran Klukas created
b90bcc3
fix(ui): allow oauth modals to consume enter
Kieran Klukas created
d5b4765
docs(readme): fixed typo in hooks (#2801)
ardevd created
a924ca1
fix(tui): show initialization mark errors in status footer (#2825)
huaiyuWangh created
5816fad
fix(agent): support flat_rate cost handling (#2116)
huaiyuWangh created
95e93e9
fix(ui): add exit alias to the quit command
Kieran Klukas created
11eabdf
fix(errors): surface errors in subagents
Kieran Klukas created
ae1c95a
fix(posthog): do not discard custom properties of an error (#2829)
Andrey Nering created
5aad790
fix(tools): fix a potential nill crash in cached glob results
Kieran Klukas created
8bc4a75
fix(config): atomically update multiple fields during oauth
Kieran Klukas created
3b9b361
docs(readme): document `HYPER_API_KEY`
Andrey Nering created
279b501
v0.66.0
Andrey Nering created
8cd4786
refactor(coordinator): extract token refresh helpers to reduce duplication
Extract `refreshTokenIfExpired` and `retryAfterUnauthorized` functions to eliminate duplicated OAuth/API key refresh logic in both `Run` and `Summarize`. 💘 Generated with Crush Assisted-by: Kimi K2.6 via Crush <crush@charm.land>
Andrey Nering created
6bdd233
fix(ui): display error on summarization instead of leaving spinning
Kieran Klukas created
a4020df
fix(summarize): reauthenticate oauth tokens when used to summarize
Kieran Klukas created
6d95ecc
fix: skip image attachments in history when model doesn't support them (#2818)
When switching from a vision-capable model to one without image support mid-conversation, historical user messages containing image attachments would cause API errors. Now those attachments are filtered out from the prompt history based on the current model's SupportsImages capability. 💘 Generated with Crush Assisted-by: Kimi K2.6 via Crush <crush@charm.land>
Andrey Nering created
61f49b2
fix(agent): drain queued messages after manual session summarize
Kieran Klukas created
0e039d0
fix(ui): prevent duplicate custom skills from rendering
Ilgaz created
9af81e3
merge: resolve conflicts with main
Kieran Klukas created
3d95ca9
bug: yollo mode via flag doesn't activate prompt
Kieran Klukas created