Commit log

a533d78 v0.50.0

Andrey Nering created

fad58e2 feat: be able to continue non-interactive sessions (#2401)

Click to expand commit body
Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>

Daniil Sivak and Andrey Nering created

c9efb20 fix: keep original order when filtering models (#2416)

Andrey Nering created

6e56a7f lint: modernize new pointer creation (e.g. new(true))

Christian Rocha created

b05a4ad fix(ui): render nested tools consistently across states

Click to expand commit body
Prior to this, nested tool calls would start in one color and finish in
another.

Christian Rocha created

a1fc44b chore(events): add events for the CLI session series of commands (#2408)

Christian Rocha created

8247f4c chore(deps): bump the all group with 2 updates (#2386)

Click to expand commit body
Bumps the all group with 2 updates: [github/codeql-action](https://github.com/github/codeql-action) and [actions/dependency-review-action](https://github.com/actions/dependency-review-action).


Updates `github/codeql-action` from 4.32.4 to 4.32.6
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/89a39a4e59826350b863aa6b6252a07ad50cf83e...0d579ffd059c29b07949a3cce3983f0780820c98)

Updates `actions/dependency-review-action` from 4.8.3 to 4.9.0
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/05fe4576374b728f0c523d6a13d64c25081e0803...2031cfc080254a8a887f58cffee85186f0e49e48)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.32.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: actions/dependency-review-action
  dependency-version: 4.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

dependabot[bot] and dependabot[bot] created

2c7cccc chore(deps): update catwalk

Andrey Nering created

c3fa160 chore(deps): update catwalk

Andrey Nering created

efb52db fix(vercel): fix validation of api keys for vercel (#2415)

Click to expand commit body
Closes #2410

Andrey Nering created

9a5a510 ci(labeler): add vercel label

Andrey Nering created

580be20 chore(deps): bump the all group with 9 updates (#2414)

Click to expand commit body
Bumps the all group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [charm.land/catwalk](https://github.com/charmbracelet/catwalk) | `0.29.1` | `0.30.0` |
| [charm.land/lipgloss/v2](https://github.com/charmbracelet/lipgloss) | `2.0.1` | `2.0.2` |
| [github.com/PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | `1.11.0` | `1.12.0` |
| [github.com/modelcontextprotocol/go-sdk](https://github.com/modelcontextprotocol/go-sdk) | `1.4.0` | `1.4.1` |
| [github.com/ncruces/go-sqlite3](https://github.com/ncruces/go-sqlite3) | `0.31.1` | `0.32.0` |
| [github.com/openai/openai-go/v3](https://github.com/openai/openai-go) | `3.26.0` | `3.28.0` |
| [github.com/posthog/posthog-go](https://github.com/posthog/posthog-go) | `1.10.0` | `1.11.1` |
| [golang.org/x/net](https://github.com/golang/net) | `0.51.0` | `0.52.0` |
| [golang.org/x/text](https://github.com/golang/text) | `0.34.0` | `0.35.0` |


Updates `charm.land/catwalk` from 0.29.1 to 0.30.0
- [Release notes](https://github.com/charmbracelet/catwalk/releases)
- [Commits](https://github.com/charmbracelet/catwalk/compare/v0.29.1...v0.30.0)

Updates `charm.land/lipgloss/v2` from 2.0.1 to 2.0.2
- [Release notes](https://github.com/charmbracelet/lipgloss/releases)
- [Commits](https://github.com/charmbracelet/lipgloss/compare/v2.0.1...v2.0.2)

Updates `github.com/PuerkitoBio/goquery` from 1.11.0 to 1.12.0
- [Release notes](https://github.com/PuerkitoBio/goquery/releases)
- [Commits](https://github.com/PuerkitoBio/goquery/compare/v1.11.0...v1.12.0)

Updates `github.com/modelcontextprotocol/go-sdk` from 1.4.0 to 1.4.1
- [Release notes](https://github.com/modelcontextprotocol/go-sdk/releases)
- [Commits](https://github.com/modelcontextprotocol/go-sdk/compare/v1.4.0...v1.4.1)

Updates `github.com/ncruces/go-sqlite3` from 0.31.1 to 0.32.0
- [Release notes](https://github.com/ncruces/go-sqlite3/releases)
- [Commits](https://github.com/ncruces/go-sqlite3/compare/v0.31.1...v0.32.0)

Updates `github.com/openai/openai-go/v3` from 3.26.0 to 3.28.0
- [Release notes](https://github.com/openai/openai-go/releases)
- [Changelog](https://github.com/openai/openai-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/openai/openai-go/compare/v3.26.0...v3.28.0)

Updates `github.com/posthog/posthog-go` from 1.10.0 to 1.11.1
- [Release notes](https://github.com/posthog/posthog-go/releases)
- [Changelog](https://github.com/PostHog/posthog-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/posthog/posthog-go/compare/v1.10.0...v1.11.1)

Updates `golang.org/x/net` from 0.51.0 to 0.52.0
- [Commits](https://github.com/golang/net/compare/v0.51.0...v0.52.0)

Updates `golang.org/x/text` from 0.34.0 to 0.35.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.34.0...v0.35.0)

---
updated-dependencies:
- dependency-name: charm.land/catwalk
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: charm.land/lipgloss/v2
  dependency-version: 2.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: github.com/PuerkitoBio/goquery
  dependency-version: 1.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: github.com/modelcontextprotocol/go-sdk
  dependency-version: 1.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: github.com/ncruces/go-sqlite3
  dependency-version: 0.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: github.com/openai/openai-go/v3
  dependency-version: 3.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: github.com/posthog/posthog-go
  dependency-version: 1.11.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: golang.org/x/net
  dependency-version: 0.52.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: golang.org/x/text
  dependency-version: 0.35.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

dependabot[bot] and dependabot[bot] created

eb91936 chore(legal): @xulongwu4 has signed the CLA

Charm created

c2b8661 v0.49.0

Andrey Nering created

81f2d38 chore(ui): add toggle for transparent bg to command palette (#2405)

Christian Rocha created

eaa9a4a feat: allow to paste bedrock api keys (#2407)

Click to expand commit body
Crush currently only allows to authentication on Bedrock via local setup
(`aws login`) or `AWS_BEARER_TOKEN_BEDROCK`, but we weren't allowing the
user to simply paste the API key in the input (validation was failed).

If `AWS_BEARER_TOKEN_BEDROCK` works, there's no reason to not allow the
user to simply paste that key.

Andrey Nering created

451faa7 chore: update openai sdk to v3 (#2406)

Andrey Nering created

f1bdb9c feat: add configurable auto-background threshold for bash tool (#2183)

Click to expand commit body
Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>

Sean Porter and Andrey Nering created

85f91c4 v0.48.0

Andrey Nering created

ca32607 chore(ui): add command palette entry for toggling notifications (#2402)

Christian Rocha created

d3b4ab2 test: re-record test fixtures

Andrey Nering created

cee203d chore: update user-agent string to better follow the convention

Click to expand commit body
* No spaces in app name: `Charm Crush` -> `Charm-Crush`
* Add link to project as a comment `()`

Andrey Nering created

4d98118 chore(deps): update fantasy and catwalk

Andrey Nering created

53ca4dc chore: update and improve ui/AGENTS.md

Christian Rocha created

cfcbd69 feat: CLI-based session access and management (#2373)

Christian Rocha created

cc1b558 chore(legal): @seroperson has signed the CLA

Charm created

5ff8d68 refactor(config): introduce ConfigStore and Scope for better config m… (#2395)

Click to expand commit body
* refactor(config): introduce ConfigStore and Scope for better config management

This makes config.Config immutable and introduces a ConfigStore that
manages the config and provides helper methods for accessing config
values with proper scoping (global, workspace). This allows us to avoid
passing around mutable config objects and ensures that all parts of the
code are accessing the most up-to-date config values. It also lays the
groundwork for future features like per-workspace config overrides.

* fixt: lint

Ayman Bagabas created

562d49f ci: fix govulncheck (#2399)

Andrey Nering created

871b367 chore(deps): update fantasy

Andrey Nering created

f8da538 feat(notification): alert on turn completion and permission request (#1356)

Click to expand commit body
* feat(notification): add em'

Assisted-by: Claude Sonnet 4.5 via Crush

* refactor(permission): check allowlist first

* docs(notification): correct example, fix rendering

* fix(notification): bump godbus/dbus to v5.2.2

v5.1.0's FreeBSD SendNullByte() was in a CGO file, so it was excluded
when building with CGO_ENABLED=0, causing the freebsd/amd64 cross-build
to fail. v5.2.2 rewrites it in pure Go.

Amolith created

ae720e3 chore(deps): pin fantasy v0.12.0

Andrey Nering created

f69f366 chore(deps): bump the all group across 1 directory with 11 updates (#2394)

Click to expand commit body
Bumps the all group with 10 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [charm.land/bubbletea/v2](https://github.com/charmbracelet/bubbletea) | `2.0.1` | `2.0.2` |
| [charm.land/catwalk](https://github.com/charmbracelet/catwalk) | `0.28.1` | `0.28.4` |
| [charm.land/glamour/v2](https://github.com/charmbracelet/glamour) | `2.0.0-20260123212943-6014aa153a9b` | `2.0.0` |
| [charm.land/lipgloss/v2](https://github.com/charmbracelet/lipgloss) | `2.0.0` | `2.0.1` |
| [charm.land/log/v2](https://github.com/charmbracelet/log) | `2.0.0-20251110204020-529bb77f35da` | `2.0.0` |
| [github.com/charmbracelet/colorprofile](https://github.com/charmbracelet/colorprofile) | `0.4.2` | `0.4.3` |
| [github.com/charmbracelet/fang](https://github.com/charmbracelet/fang) | `0.4.4` | `1.0.0` |
| [github.com/ncruces/go-sqlite3](https://github.com/ncruces/go-sqlite3) | `0.30.5` | `0.31.1` |
| [golang.org/x/sync](https://github.com/golang/sync) | `0.19.0` | `0.20.0` |
| [mvdan.cc/sh/v3](https://github.com/mvdan/sh) | `3.12.1-0.20250902163504-3cf4fd5717a5` | `3.13.0` |



Updates `charm.land/bubbletea/v2` from 2.0.1 to 2.0.2
- [Release notes](https://github.com/charmbracelet/bubbletea/releases)
- [Commits](https://github.com/charmbracelet/bubbletea/compare/v2.0.1...v2.0.2)

Updates `charm.land/catwalk` from 0.28.1 to 0.28.4
- [Release notes](https://github.com/charmbracelet/catwalk/releases)
- [Commits](https://github.com/charmbracelet/catwalk/compare/v0.28.1...v0.28.4)

Updates `charm.land/glamour/v2` from 2.0.0-20260123212943-6014aa153a9b to 2.0.0
- [Release notes](https://github.com/charmbracelet/glamour/releases)
- [Commits](https://github.com/charmbracelet/glamour/commits/v2.0.0)

Updates `charm.land/lipgloss/v2` from 2.0.0 to 2.0.1
- [Release notes](https://github.com/charmbracelet/lipgloss/releases)
- [Commits](https://github.com/charmbracelet/lipgloss/compare/v2.0.0...v2.0.1)

Updates `charm.land/log/v2` from 2.0.0-20251110204020-529bb77f35da to 2.0.0
- [Release notes](https://github.com/charmbracelet/log/releases)
- [Commits](https://github.com/charmbracelet/log/commits/v2.0.0)

Updates `github.com/aymanbagabas/go-udiff` from 0.4.0 to 0.4.1
- [Release notes](https://github.com/aymanbagabas/go-udiff/releases)
- [Commits](https://github.com/aymanbagabas/go-udiff/compare/v0.4.0...v0.4.1)

Updates `github.com/charmbracelet/colorprofile` from 0.4.2 to 0.4.3
- [Release notes](https://github.com/charmbracelet/colorprofile/releases)
- [Commits](https://github.com/charmbracelet/colorprofile/compare/v0.4.2...v0.4.3)

Updates `github.com/charmbracelet/fang` from 0.4.4 to 1.0.0
- [Release notes](https://github.com/charmbracelet/fang/releases)
- [Commits](https://github.com/charmbracelet/fang/compare/v0.4.4...v1.0.0)

Updates `github.com/ncruces/go-sqlite3` from 0.30.5 to 0.31.1
- [Release notes](https://github.com/ncruces/go-sqlite3/releases)
- [Commits](https://github.com/ncruces/go-sqlite3/compare/v0.30.5...v0.31.1)

Updates `golang.org/x/sync` from 0.19.0 to 0.20.0
- [Commits](https://github.com/golang/sync/compare/v0.19.0...v0.20.0)

Updates `mvdan.cc/sh/v3` from 3.12.1-0.20250902163504-3cf4fd5717a5 to 3.13.0
- [Release notes](https://github.com/mvdan/sh/releases)
- [Changelog](https://github.com/mvdan/sh/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mvdan/sh/commits/v3.13.0)

---
updated-dependencies:
- dependency-name: charm.land/bubbletea/v2
  dependency-version: 2.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: charm.land/catwalk
  dependency-version: 0.28.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: charm.land/glamour/v2
  dependency-version: 2.0.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: charm.land/lipgloss/v2
  dependency-version: 2.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: charm.land/log/v2
  dependency-version: 2.0.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: github.com/aymanbagabas/go-udiff
  dependency-version: 0.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: github.com/charmbracelet/colorprofile
  dependency-version: 0.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: github.com/charmbracelet/fang
  dependency-version: 1.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: github.com/ncruces/go-sqlite3
  dependency-version: 0.31.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: golang.org/x/sync
  dependency-version: 0.20.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: mvdan.cc/sh/v3
  dependency-version: 3.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

dependabot[bot] and dependabot[bot] created

a897f65 feat: set user-agent to Charm Crush/<version> (#2357)

Christian Rocha created

45c25b3 chore: update AGENTS.md (#2388)

Christian Rocha created

1f1426b chore(legal): @ZeitbyteRepo has signed the CLA

Charm created

a3bfa19 chore(agent): allocate errors once, reuse errors

Christian Rocha created

7d50e8f chore(agent): cleanup logic

Christian Rocha created

e0d3141 fix(events): remove redundant posthog exit event (#2371)

Christian Rocha created

2dacfbd fix(noninteractive): actually use models to generate titles (#2372)

Click to expand commit body
Prior to this, non-interactive titles would simply be the prompt, which
could be multiple lines and would include data piped in.

This revision also removes the "non-interactive:" title prefix as it's
irrelevant. Non-interactive sessions can be picked up in the TUI and are
treated no different than interactive sessions.

Christian Rocha created

ec8c8dd fix(events): panic when metrics are disabled

Christian Rocha created

4fee559 fix(ui): properly truncate info message (#2379)

Ayman Bagabas created

79c3ffa chore: improve examples in `crush --help`

Christian Rocha created

7f2e9f8 fix(ui): format xhigh as XHigh (not Xhigh) (#2369)

Christian Rocha created

a0a0040 v0.47.2

Andrey Nering created

eb71faf chore: add gpt 5.4 and gpt 5.4 pro (#2363)

Click to expand commit body
* https://github.com/charmbracelet/fantasy/pull/158
* https://github.com/charmbracelet/catwalk/pull/204

Andrey Nering created

ef0671c fix: suppress message when clipboard is empty (#2361)

Andrey Nering created

a512006 v0.47.1

Andrey Nering created

ca13661 chore: update bubble tea to v2.0.1 (#2360)

Click to expand commit body
This fixes some resize issues on some terminal emulators, particularly on
Windows.

Andrey Nering created

fae0f2e fix(lsp/edit): properly handle non-ascii chars (e.g. CJK) (#2325)

Christian Rocha created

8a9000b ci: update golangci-lint to v2.10 and fix new issues (#2355)

Andrey Nering created