ノードとエッジで構成された抽象的なネットワークグラフィック(Crush記事のヒーロー画像)
← ブログ一覧
AI6分

Crushとは?Charm製のターミナルAIコーディングエージェント|複数LLM対応とライセンスの注意点

  • #Crush
  • #Charm
  • #CLI

ターミナルの中で動くAIコーディングエージェントが増えています。Claude CodeやOpenAIのCodex CLIといった大手ベンダー製のツールに加えて、独立系の開発チームからも同じ形のプロダクトが相次いで出てきました。その一つが、Markdown CLIビューア「Glow」などターミナルツール群で知られるCharmが開発する「Crush」です。

本記事では、Crushが何を目指したツールなのか、複数のLLMプロバイダーをどう切り替えるのか、MCPやLSPとの連携、権限管理の仕組み、そして採用しているFSL-1.1-MITライセンスで実務上注意すべき点を、公式リポジトリ(GitHub: https://github.com/charmbracelet/crush )の記述をもとに整理します。

  • この記事でわかること:Crushの位置づけと、Charmの他ツールとの関係。
  • 対応LLMプロバイダーと、プロバイダーを切り替える仕組み。
  • .crushrcという新しい設定形式と、MCP/LSP連携の書き方。
  • 権限管理(permissions)とyoloモード、ライセンス・料金面で確認すべきこと。

Crushとは何か:Charm製のターミナルAIコーディングエージェント

CrushはGo言語で書かれた、ターミナル上で動作するAIコーディングエージェントです。開発元のCharmは、Markdownをターミナルで表示する「Glow」、対話式CLIを組み立てる「Gum」、ターミナル操作を動画化する「VHS」など、ターミナル向けツール群で知られる開発チームです。CrushはそのCharmが手がける、コードを書く・読む・実行するAIエージェントという位置づけになります。

GitHubリポジトリのAbout欄には「Glamourous agentic coding for all」と掲げられており、2026年8月時点でスター数は27.8千、直近のリリースはv0.92.0(2026年8月31日)です。ほぼ毎週のペースでリリースが続いており、活発に開発が続いているプロジェクトだと分かります。

インストールと複数LLMプロバイダーの切り替え

インストール方法は複数用意されています。macOSはHomebrew(brew install charmbracelet/tap/crush)、Node.js環境があればnpm install -g @charmland/crush、Go環境があればgo install github.com/charmbracelet/crush@latestのほか、Windows向けのwinget/scoop、Arch LinuxのAUR、FreeBSDのpkgにも対応しています。

Crush自体はモデルを持たず、外部のLLMプロバイダーに接続して動きます。公式が用意する「Charm Hyper」のほか、Anthropic・OpenAI・Google Gemini・Amazon Bedrock・Azure OpenAI・Groq・OpenRouter・Ollamaなど20以上のプロバイダーに対応し、環境変数(ANTHROPIC_API_KEY、OPENAI_API_KEYなど)を設定するだけで認識されます。OpenAI互換/Anthropic互換のAPIやOllamaのようなローカルモデルもprovider addコマンドで追加でき、セッションの途中でもモデルを切り替えられます。

Charm Hyperは「Crush公式のプロバイダーで、サブスクリプション制・無料枠あり、ゼロデータ保持(ZDR)でGDPR準拠を意識した設計」と説明されていますが、具体的な料金や無料枠の上限はリポジトリのREADMEには明記されておらず、公式サイト(hyper.charm.land)側での確認が必要です。

.crushrcという設定形式とMCP/LSP連携

2026年7月末のv0.88.0で導入されたのが、Bash構文で書ける設定ファイル.crushrcです。READMEでは「A crushrc is just Bash with some Crush-specific builtins」と説明されており、プロバイダー追加・モデル登録・権限設定・MCPサーバー登録などをシェルスクリプトとして記述できます。従来のJSON設定(crush.json)も引き続き使えますが、ホスト名による条件分岐なども書ける.crushrcの方が柔軟です。

MCP(Model Context Protocol)はstdio・http・sseの3方式に対応しています。ローカルのコマンドを起動するstdio、HTTPエンドポイントに接続するhttp、Server-Sent EventsのSSEをmcp addコマンドで追加でき、GitHubやLinearのようなOAuth対応サーバーはJSON設定でoauth: trueを指定して認証します。

LSP(Language Server Protocol)との連携もサポートしており、lsp add go --command gopls のように言語サーバーを登録すると、コード編集時にAIエージェントへ型情報や診断結果を追加のコンテキストとして渡せます。

権限管理とyoloモード

Crushはデフォルトでは、ツール呼び出し(ファイル編集やコマンド実行など)のたびに実行許可を確認します。permissions allow view edit のように事前許可するツールを指定したり、permissions deny bash のように特定ツールを非表示にすることもできます。

全ての確認をスキップする--yoloフラグも用意されていますが、README自身が「Be very, very careful with this feature」と明記しているとおり、任意のコマンド実行やファイル書き換えを無条件で許可することになるため、少なくとも信頼できるサンドボックス環境以外での常用は避けたほうがよいでしょう。

ライセンスで確認しておきたいこと:FSL-1.1-MIT

CrushはFSL-1.1-MIT(Functional Source License 1.1、MITへの移行条項付き)というライセンスで公開されています。公開から2年が経過すると、そのバージョンのコードはMITライセンスとしても利用できるようになる「遅延型オープンソース」の設計です(LICENSE: https://github.com/charmbracelet/crush/blob/main/LICENSE.md )。

2年が経過するまでの間は「Competing Use」、つまりCrushの代替となる、または実質的に同等の機能を提供する商用製品・サービスでの利用が制限されます。一方で社内利用や非営利の教育・研究目的の利用は明示的に許可されています。自社サービスにCrush由来のコードを組み込む場合は、この制限に抵触しないか確認しておく必要があります。

まとめ:Charmらしいターミナル体験に、AIエージェントを重ねたツール

Crushは、GlowやGumで培われたCharmのターミナルUI設計に、複数LLMプロバイダーへの対応・MCP/LSP連携・権限管理を組み合わせたAIコーディングエージェントです。特定のLLMベンダーに縛られず、手元のOllamaから商用APIまで切り替えられる点と、.crushrcというBashベースの柔軟な設定形式が特徴といえます。

その一方で、FSL-1.1-MITという2年後にMIT化される制限付きライセンスであること、公式プロバイダーCharm Hyperの料金詳細がリポジトリ上では明らかになっていないことは、導入前に公式情報で確認しておきたいポイントです。まずは無料のローカルモデルやOpenAI互換APIを使ったスモールスタートから試すのが現実的でしょう。

参考リンク

まずは、やりたいことを聞かせてください

「何から手をつければいいか分からない」段階でも大丈夫です。 ご相談・お見積りは無料。碧南近郊なら直接伺います。