Commit log

562d6f3 v0.51.0

Andrey Nering created

a3288de chore: auto-update files

Charm created

e0dcaba feat: docker mcp integration (#2026)

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

Kujtim Hoxha , Andrey Nering , and Christian Rocha created

ddd99cd feat: add aliases: `crush r` -> `crush run`, `crush s` -> `crush session` (#2424)

Andrey Nering created

630ff8c feat: add support for `--session` and `--continue` for the tui (#2422)

Click to expand commit body
These flags were previously only available for `crush run`.

Andrey Nering created

724102d chore(deps): update fantasy and catwalk

Andrey Nering created

aa253c5 chore(taskfile): enhance `deps` task to work for recent releases

Andrey Nering created

c07a7fb chore(legal): @nghiant03 has signed the CLA

Charm created

454c7ef v0.50.1

Andrey Nering created

695ced1 chore: add support for gpt 5.4 mini and nano (#2419)

Andrey Nering created

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