Skip to content

Releases: ItsCetla/tada

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 04:01

Added

  • Claude Code engine. When the claude CLI is installed, a "Claude Code"
    provider shows up in the model picker (default model, Opus, Sonnet or
    Haiku). Ta-Da runs your own claude for each turn and shows its output,
    tool cards and diffs in the chat. Its tool requests go through Ta-Da's
    permission prompts, and when Claude wants to ask you something it uses
    Ta-Da's question dialog. Plan mode maps to Claude Code's plan mode. Login
    and billing stay with the CLI; set use_api_key: true in the provider's
    provider_options to bill ANTHROPIC_API_KEY instead, or binary to
    point at a different CLI.
  • Magic Context, a Go port of
    cortexkit/magic-context (MIT).
    Off by default; turn it on with options.magic_context.enabled: true. It
    replaces auto-summarize for the main agent: a background historian
    compresses older turns, the agent can drop old tool output with
    ctx_reduce, and project memories, notes and search (ctx_memory,
    ctx_note, ctx_search, ctx_expand) carry over between sessions.
    Commands: ctx-status, ctx-flush, ctx-recomp, ctx-wrapup and
    ctx-dream. Data stays in the local database; embeddings are off unless
    you set an endpoint.

Fixed

  • A new tab can be opened while the current session is still working.
  • OpenCode plugin entries written as [name, options] pairs are read
    correctly.

Notes

  • Claude Code sessions run Claude Code's own loop, tools and compaction, so
    Magic Context and Summarize don't apply to them, and Ta-Da's system prompt
    isn't sent. Cost is only shown with use_api_key.

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 19 Oct 22:01

Added

  • Three named permission modes: Manual (asks first), Plan (read-only
    planner) and Auto (skips prompts; system level commands stay blocked).
    Shift+Tab cycles Manual → Plan → Auto, and the status bar always shows the
    current mode. Auto replaces the old YOLO name; --auto joins --yolo, and
    the plan hand-off's "Code in Auto" button also answers to a.

Changed

  • The tab bar now shows as soon as a session is open, so its + button is
    there to start a second session.
  • Auto turned on with Ctrl+Y no longer gets carried into plan mode; Shift+Tab
    from Auto always goes back to Manual.

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 19 Oct 21:04

Security

  • Tables and charts no longer pass terminal control characters through.
    Escape sequences in a chart's title, labels, series names or unit, or in a
    table cell, are stripped before drawing, so a reply can't retitle the
    window or clear the screen.
  • Charts with extreme values (beyond ±1e300) are refused with a
    chart: value … out of range note, and very large or very tiny values can
    no longer crash the chart renderer.

0.3.1 also includes everything new in 0.3.0:

Added

  • Tables and charts in replies. Markdown tables in assistant replies are
    drawn as styled tables: amber header, faint row stripes, numbers lined up
    on the decimal point, :--: alignment, and bold, italic and code cells.
    Tables that are too wide shrink their text columns with … (number
    columns are never cut) and fall back to stacked rows when nothing fits.
    A fenced ```chart block with JSON is drawn as a bar, horizontal
    bar, braille line or sparkline chart, with a legend for several series.
    A broken chart shows its code block and a dim chart: <error> line. It is
    all drawn locally, follows the active theme and NO_COLOR, and copying a
    message still copies the raw markdown. Turn it off with
    options.tui.rich_blocks: false or TADA_NO_RICH=1.
  • In the TUI, the agent's system prompt gets a short note on tables and
    chart blocks (only when rich_blocks is on). tada run and sub-agents
    don't get it.
  • Session tabs. Sessions you open stay as tabs above the chat. Click a
    tab or press alt+1…alt+9 to switch, ctrl+pgdown/ctrl+pgup for the
    next or previous tab, alt+w or the tab's × (or a middle click) to
    close it, and + for a new session. The commands palette has Next Tab,
    Previous Tab and Close Tab. The tab bar only shows with two or more tabs.

Changed

  • Diffs in edit and write tool results wrap long lines instead of cutting
    them off, in both unified and split views.

Fixed

  • The header wordmark in wide (fullscreen) windows: the D is never stretched
    into a box, and the dotted field beside it ends in a straight edge instead
    of a ragged one.

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 19:47

Changed

  • Renamed to Ta-Da. The binary is now tada, environment variables are
    TADA_*, config lives in ~/.config/tada/tada.json, tadarc, .tada/ and
    TADA.md. The repository moved to
    ItsCetla/tada and the site to
    tada.cetla.dev.
  • On first run, settings and data from ~/.config/crush and
    ~/.local/share/crush are copied into the new Ta-Da folders, and CRUSH_*
    environment variables are still honoured. Project .crush/ session history
    is not moved; .crush/skills and .crushignore are still read.
  • New "cetla" default theme, Ta-Da wordmark and a short startup intro
    (skip with any key; turn off with TADA_NO_INTRO=1 or
    options.tui.intro: false).

Added

  • tada update (--check, -y): downloads the latest release from GitHub,
    checks it against SHA256SUMS.txt and replaces the binary.
  • Background update check: at most every 6 hours, asks api.github.com for the
    latest release and tells you once per new version. Never downloads on its
    own. Turn it off with options.update_check: false,
    option update-check false or TADA_NO_UPDATE_CHECK=1.
  • Windows installer (tada_<version>_Windows_<arch>_Setup.exe): per-user
    install without admin rights, adds tada to PATH, Start menu entry,
    uninstaller in Settings → Apps. Upgrading from the 0.1.0 Crush installer
    removes the old crush.exe and shortcuts.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 17:10

First tagged release of the fork, based on upstream Crush as of 2026-10-15.

Added

  • crush trust, crush trust --list and crush trust --revoke: a trust gate
    that keeps a cloned project's crush.json, crushrc, .crush/ and
    OpenCode config inert until you say so. CRUSH_TRUST_PROJECT=1 and
    options.trusted_paths are the non-interactive equivalents.
  • OpenCode import: MCP servers, providers, model choices, the cached
    models.dev catalog, rules, skills, custom commands (opencode:<name>),
    tool toggles, deny permissions, edit: allow and compaction.auto are
    read from a local OpenCode install. crush opencode prints exactly what
    was imported and why anything was skipped. Toggle pieces in
    options.opencode; CRUSH_DISABLE_OPENCODE=1 turns it all off.
  • permissions allow-in-project edit write … (permissions.project_allowed_tools)
    lets file tools skip the prompt only inside the project directory.
  • option web-tools true / options.enable_web_tools / CRUSH_ENABLE_WEB_TOOLS
    to opt in to the fetch, agentic_fetch, download and sourcegraph tools.
  • The import report flags MCP servers that fetch packages on start (npx,
    bunx, pnpm dlx, yarn dlx, @latest).
  • Windows, macOS and Linux release archives with SHA256SUMS.txt, built by
    the release workflow as a draft GitHub release.

Changed

  • The provider catalog is offline by default; refresh it only with
    crush update-providers.
  • Bash auto-approval only applies to a single parsed read-only command.
    Wrappers (env, timeout, …), redirections, pipes and multi-line commands
    always ask. env dumps, ps e and ls outside the working directory ask too.
  • Every web tool call and every agentic_fetch sub-agent request asks for
    permission first; sourcegraph asks before each search.
  • du and git blame can no longer read files outside the project.
  • Banned shell commands are also caught when hidden behind wrappers or paths.
  • Config and lock directories are created readable only by the user, and the
    server's unix socket is private to its owner.
  • Panic logs go to the log directory instead of the working directory.
  • crush --version prefers the version passed at build time over the Go
    toolchain's VCS stamp.

Removed

  • PostHog telemetry and machine-id tracking.
  • The startup update check.
  • The Charm Hyper provider and the Catwalk/Hyper catalog fetches at startup.
  • Automatic .env loading, the forced Termux DNS resolvers and the global
    pprof mux.
  • Upstream release, CLA and labeler automation.

Security

  • Provider API keys are scrubbed from the agent's shell environment.
  • Credential headers and key-like query parameters are redacted from HTTP
    debug logs; env values that fail to resolve are no longer logged.
  • The download tool caps writes at 100 MiB and removes oversized files.
  • The lint workflow no longer persists checkout credentials.

Downloads

Platform File
Windows x64 installer (recommended) crush_0.1.0_Windows_x86_64_Setup.exe
Windows ARM64 installer crush_0.1.0_Windows_arm64_Setup.exe
Windows x64 (portable zip) crush_0.1.0_Windows_x86_64.zip
Windows ARM64 (portable zip) crush_0.1.0_Windows_arm64.zip
macOS Apple silicon crush_0.1.0_Darwin_arm64.tar.gz
macOS Intel crush_0.1.0_Darwin_x86_64.tar.gz
Linux x64 crush_0.1.0_Linux_x86_64.tar.gz
Linux ARM64 crush_0.1.0_Linux_arm64.tar.gz

The Windows installer needs no admin rights: it installs to
%LOCALAPPDATA%\Programs\Crush, adds crush to your PATH, adds a
Start menu entry, and uninstalls from Settings > Apps.

Verify a download against SHA256SUMS.txt:
shasum -a 256 -c SHA256SUMS.txt --ignore-missing (macOS/Linux) or
Get-FileHash crush_0.1.0_Windows_x86_64_Setup.exe (PowerShell).