Skip to content

craze

A Linux and macOS terminal UI for coding agents. It talks ACP to Cursor CLI (cursor-agent acp), Grok CLI (grok), or gx (charliek/grok-build), a third-party fork of the Grok CLI. You own the chrome; the provider still runs the agent. Its native provider runs the agent inside craze instead, against a model provider's API or a ChatGPT plan, and needs no other CLI (see Native provider).

./bin/craze                      # the TUI, in the current directory
./bin/craze --workspace ../proj  # somewhere else
./bin/craze --no-force           # ask before each tool call

--force (yolo) is the default. --no-force turns on the permission line.

Current Scope

Early-stage software: v0.1.x is released (Homebrew, apt and release archives) for Linux and macOS. craze opens a TUI; craze prompt --json is the headless path. Sessions run in a detached host and outlive the terminal: craze ps lists them, craze attach and craze -c rejoin one, craze new starts one in the background through the per-machine hub, and craze new --load brings a saved one back through it (see the CLI reference).

What it does

  • A TUI over four providers. cursor, grok, gx and the built-in native agent share one set of keys, cards and slash commands (TUI reference).
  • Sessions that outlive the terminal. A detached host keeps the agent running; craze ps, craze attach and craze -c rejoin it (CLI reference).
  • Resume through the hub. craze ps --saved lists the saved sessions and craze new --load reopens one; a hub client such as shed does the same over session.reopen (CLI reference).
  • Scripted and background use. craze prompt --json runs one turn; craze new, send, wait, cancel and stop drive sessions without a terminal (CLI reference).
  • Claude Code sub-agents. A plugin hands a task to a craze session on a native, Grok or Cursor model, and returns the result (Claude Code).
  • Side questions. /btw <question> asks a quick question without adding to the session (TUI reference).
  • Effort and speed. --effort and --fast/--no-fast start a model at a chosen setting (CLI reference); in a session, /effort changes it from a picker of the current model's levels, and on native the model dialog shows each model's levels as you highlight it (TUI reference).
  • Native start models. A new native session starts on the first provider you have connected, in the order Z.AI, ChatGPT plan, Fireworks, OpenRouter, Meta (Configuration).
  • A render check. craze frame renders the TUI once for tests (Testing).

To run craze you need:

  • Linux or macOS
  • One way to reach a model:
    • the native provider (--provider native), which needs none of the CLIs below: only a model provider's API key, or a ChatGPT plan sign-in (craze auth login chatgpt); or
    • one of: the Cursor CLI, with a working login (cursor-agent login, the same binary is also installed as agent); the Grok CLI (grok), with grok login or XAI_API_KEY set; or gx, a third-party fork of the Grok CLI that speaks the same ACP dialect as grok, so everything these docs say about Grok's behaviour applies to it too — it currently shares grok's ~/.grok home (config, auth, sessions, skills), which is the fork's current behaviour, not a craze guarantee

Go 1.27+ (this repo pins 1.27.1 via .mise.toml) is needed only to build from source. Brew, apt and the release archives need no Go.

Coming from v0.0.1? See Upgrading.

Next Steps