Cymbal is live · free · last verified 22 Oct 2026 · viability monitor

Cymbal

Cymbal

Cymbal indexes your repo with tree-sitter and answers structural code-navigation questions from a local SQLite index.

69/100MonitorFreeFree

The detail that matters most here isn't the index — it's the output contract. body_hash per symbol plus documented exit codes (0 for empty-but-valid, 1 for unknown names as of 0.17.0) is exactly what an agent needs to trust a tool's answers, and most CLI competitors leave that unspecified. If you're a terminal-first developer or you're wiring a coding agent that still greps its way through repos, spend an afternoon on this.

Verdict generated

Verified 8d ago · liveness 69/100 · cite: rightaichoice.com/tools/cymbal

Best for
  • AI coding agents that need structural repo queries in one call with --json and reliable exit codes
  • Developers replacing grep and jump-to-definition chains with symbol-aware search and impact analysis
  • Engineers assessing blast radius before changing a shared function with `cymbal impact -D`
  • Agent builders who cache file:Name plus body_hash to detect when a symbol's source changed
Not ideal for
  • Teams that want a graphical code navigation or automated refactoring UI
  • Anyone who needs a shared, cloud-hosted index across a distributed team
  • Workflows centered on IDE-level debugging rather than terminal queries
Visit Website

AdvancedFor a developer already on Homebrew, `brew install cymbal` from homebrew-core needs no tap, so install is minutes and then `cymbal index .` runs immediately — the vendor's own example indexed 105 files and 1921 symbols. An agent path is faster if you skip the shell: hand it the vendor's four-line prompt (install, index, structure, then `cymbal hook install claude-code`). Go installs need CGO plusCLINo public APIVerified 8d ago
Pricing
Free
FreeFree tier
Learning curve
Advanced
For a developer already on Homebrew, `brew install cymbal` from homebrew-core needs no tap, so install is minutes and then `cymbal index .` runs immediately — the vendor's own example indexed 105 files and 1921 symbols. An agent path is faster if you skip the shell: hand it the vendor's four-line prompt (install, index, structure, then `cymbal hook install claude-code`). Go installs need CGO plus
Runs on
CLI
No public API · 1 integrations
Who it's for
Developer dropped into an unfamiliar polyglot repoCoding agent asked to modify a shared functionEngineer reviewing a colleague's PR
Live sentiment
Is Cymbal actually worth it?

We scan live Reddit threads, YouTube comments, X posts, G2 reviews and other communities — and hand you an honest verdict in under a minute.

  • Honest verdict, not marketing
  • Real pros & cons from real users
  • Attributed quotes with receipts
Run a free scan

3 free scans · no card needed

Skip it if

Skip Cymbal if you want a graphical code browser, a shared team-wide index, or automated refactoring — it is a local per-repo CLI that answers structural questions from an SQLite index and leaves editing to you.

Skip-it-if note generated
The 30-second take
Price reality

The scrape reached cymbal.sh and cymbal.sh/changelog but not a pricing page, so RAC cannot state how Cymbal is sold or what any tier costs. The seed data records the current pricing type as free, with a single $0 plan covering the full 19-command CLI, and the changelog shows no price change across 0.16.2 and 0.17.0.

Generated

In short

Cymbal — Cymbal indexes your repo with tree-sitter and answers structural code-navigation questions from a local SQLite index. Best for AI coding agents that need structural repo queries in one call with --json and reliable exit codes, Developers replacing grep and jump-to-definition chains with symbol-aware search and impact analysis, Engineers assessing blast radius before changing a shared function with `cymbal impact -D`. Free to use.

What is Cymbal?

Cymbal — Cymbal indexes your repo with tree-sitter and answers structural code-navigation questions from a local SQLite index. Best for AI coding agents that need structural repo queries in one call with --json and reliable exit codes, Developers replacing grep and jump-to-definition chains with symbol-aware search and impact analysis, Engineers assessing blast radius before changing a shared function with `cymbal impact -D`. Free to use.

FreeAdvancedNo APICLI

Cymbal is a code navigation CLI for two kinds of users: developers who are tired of chaining grep, find and jump-to-definition, and coding agents that burn a dozen file reads answering one structural question. You index a repo once with tree-sitter parsers into a per-repo SQLite database — the vendor's own example run reports 105 files and 1921 symbols — and every query after that reads the database instead of the filesystem. No daemon, no server, no model in the loop. The nineteen-command set is organized around which direction you walk the call graph. `cymbal investigate` adapts to the symbol's kind (functions return source, callers and shallow impact; types return source, members and references), which makes it the safe default when you don't know which command you want. `cymbal trace` walks downward through callees, `cymbal impact -D/--depth` walks upward through callers with depth capped at 5, `cymbal context` bundles source, referenced types, callers and imports into one read, and `cymbal changed` maps a git diff to affected symbols. For agent wiring, `--json` is the real product. Symbols in search, show, outline, context, investigate and structure carry a 16-character `body_hash` of their own source lines, so an agent can store file:Name plus hash and check staleness in one call. Version 0.17.0 tightened the exit-code contract: empty-but-valid results exit 0 with a zero count, unknown names exit 1 with 'symbol not found'. Output isn't limited to text. `trace`, `impact`, `importers` and `impls` accept `--graph`, defaulting to Mermaid on a TTY and JSON when piped, with `--graph-format mermaid|dot|json` and `--graph-limit` to cap dense graphs. Install via homebrew-core, AUR, PowerShell, Go with CGO, or Docker. Against GUI code-intelligence suites it trades visual polish for speed and composability; against ripgrep in a prompt it trades raw text matching for symbol-aware answers.

Key features

  • Index a repository with tree-sitter parsers into a per-repo SQLite database
  • Kind-adaptive `cymbal investigate` returns source, callers and impact for functions, members and references for types
  • `cymbal trace` walks downward through callees, with --include-unresolved to keep external calls
  • `cymbal impact -D/--depth` analyzes transitive callers, depth capped at 5
  • `cymbal context` bundles source, referenced types, callers and imports into one read
  • `cymbal search` ranks exact above prefix above fuzzy, with -k/--kind and -l/--lang filters
  • Full-text grep across file contents via `cymbal search --text` (SQLite FTS5)
  • `cymbal changed` maps a git diff to affected symbols and their impact
  • `cymbal show` reads source by symbol name, file hint, package hint or line range
  • `cymbal structure` and `cymbal outline` summarize entry points and symbols
  • Render call graphs as Mermaid, DOT or JSON with --graph-format and --graph-limit
  • Per-symbol 16-character body_hash in search, show, outline, context, investigate and structure JSON
  • Structured --json output as of 0.17.0: empty-but-valid results exit 0, unknown names exit 1
  • Automatic index refresh on queries, plus -f for a forced full re-index
  • `cymbal hook install claude-code` wires the CLI into a Claude Code workflow

Behind the verdict

Where Cymbal earns its place: you're inside a repo you don't know, and the question is structural rather than textual. "What breaks if I change this?" is one `cymbal impact handleRegister -D 3`. "I've never seen this codebase, where do I start?" is `cymbal structure`. Those two beats are where grep wastes the most time, and where the index pays for itself immediately. We'd reach for it hardest in agent pipelines. A coding agent that reads whole files to answer "who calls this function" is spending tokens on the wrong thing. Handing it `cymbal search` for lookup, `cymbal show <sym>` instead of a full file read, and `cymbal impact <sym>` before any shared change is a concrete prompt rewrite, not a vague suggestion. The `cymbal hook install claude-code` command does that wiring for you. Pass on it if your work is graphical. There's no editor UI, no refactoring engine, no debugger — this answers questions, it doesn't rewrite your code. Teams expecting a shared cloud index across a distributed team won't find one either; the database is per repo and local, and .cymbal/ belongs in your .gitignore. Watch the operability details. Go installs need CGO with the FTS5 flag or text search silently loses its engine. Indexing a subdirectory updates that subtree in place rather than reindexing the whole repo, which is convenient but easy to misread as a full refresh. And 0.17.0 changed exit codes — if you scripted against the old behavior, your checks need updating. The closest alternative isn't another CLI, it's ripgrep plus a language server: rg is faster to start and needs no index, while LSP gives you jump-to-definition in an editor. Cymbal sits between them — symbol-aware like LSP, scriptable and JSON-native like rg. Weigh it against those two before adding a third tool to

Limitations

  • Cymbal is a local CLI: indexing builds a per-repo SQLite index with tree-sitter parsers, and there is no daemon, no server, and no model in the loop — every answer comes from the index rather than live filesystem reads.
  • Structural answers are bounded by the tree-sitter grammars available, so language coverage is whatever those parsers support.
  • Installation routes vary and each carries setup: Homebrew on macOS and Linux, Arch AUR, a Windows PowerShell script, Go with mandatory CGO and the non-optional `-DSQLITE_ENABLE_FTS5` flag, a ghcr.io Docker image, or prebuilt release binaries.
  • The index lives in the repo (`.cymbal/index.db` under the Docker flow), so add `.cymbal/` to `.gitignore` and expect a one-time full reparse with a stderr note on the first refresh after some upgrades. `impact` depth is capped at 5. v0.17.0 changed exit semantics: empty results exit 0 and unknown names exit 1, so older scripts that read a failing `impact` as 'no callers' need to check the count instead.
  • It is aimed at developers and coding agents rather than non-technical users.

as of 2026-10-12

Researching Cymbal? Get your full AI stack in 60 seconds.

Free, no signup — tell us your goal and get tools matched to your budget & existing stack.

Is Cymbal still active?

Cymbal is live · free · last verified 22 Oct 2026 · viability monitor.

Viability score

69/100
Monitor

How well maintained and how widely used is Cymbal? Built from what the vendor actually publishes (docs, changelog, tutorials, integrations, pricing), whether the site is live, and how much real users discuss it. How we calculate this

Recent activity
90
Traction
100
Site health
95
User sentiment
50
What the vendor publishes
20

Last calculated: October 2026

How we score →

What's new in Cymbal

Checked 10 days ago

Across the latest 1 update: 1 changelog entry.

What do users say about Cymbal?

What people actually say about Cymbal — is it worth it?

Our community sentiment research written Jul 3, 2026 is more than 90 days old, so it is being re-reviewed against current data and is not shown.

How we verified this

Every listed fact about Cymbal — pricing, features, links, status — is re-read from the vendor's own pages by our verification pipeline and each change is logged with a date; the last pass ran on 22 Oct 2026. Pages mix model-assisted synthesis with human review; see how we verify.

Verification history

We have re-verified Cymbal 10 times since . Each pass re-reads the vendor's own pages and re-checks every listed field against that evidence; passes where nothing had changed are marked as such.

  1. — changed pricing tiers, description, our verdict, features
  2. — changed pricing tiers, who should skip it, description, summary, our verdict, features, who it suits
  3. — changed pricing page
  4. — changed our verdict, use cases, who should skip it, switching out, pricing tiers, features, setup time, pricing fit, hidden costs, description, who it suits, summary, limitations, switching in, SSL certificate
  5. — changed pricing page, limitations
  6. — changed pricing tiers, who it suits, description, our verdict, features, summary

Showing the 6 most recent of 10 verification passes.

Free to cite with attribution — this page re-verifies continuously.

How much does Cymbal cost in 2026?

Cymbal: Free to use. Pricing last verified 22 Oct 2026.

Plans compared

Every published Cymbal tier, its price as the vendor publishes it, who it fits, and what it adds over the tier below. The 12-month cost projection follows.

Cymbal pricing plans compared
PlanPriceBillingWho it's for
FreeFree—Solo developers and agent-tooling builders who want the full CLI without a license key or account, on their own machine.Adds: Starting tier: the entire 19-command CLI at $0, with the local SQLite index, JSON output and exit codes, and every install route included.

12-month cost

Project the real annual outlay, including the implied monthly cost when only an annual tier is published.

Annual total
Free
Over 12 months
Effective monthly
—
—

Vendor list price only. Add-on usage, seat overages, and contract minimums are surfaced under Hidden costs & gotchas.

Where the pricing makes sense

The company stage and team size where Cymbal's pricing actually pencils out — and where peers do it cheaper.

The scrape reached cymbal.sh and cymbal.sh/changelog but not a pricing page, so RAC cannot state how Cymbal is sold or what any tier costs. The seed data records the current pricing type as free, with a single $0 plan covering the full 19-command CLI, and the changelog shows no price change across 0.16.2 and 0.17.0.

Hidden-cost and price-fit notes generated

Has Cymbal's pricing changed?

No plan price for Cymbal has moved since we began logging in Aug 2026; the pricing page is re-read on every verification pass.

Who should pick Cymbal?

Pick Cymbal if you are AI coding agents that need structural repo queries in one call with --json and reliable exit codes, Developers replacing grep and jump-to-definition chains with symbol-aware search and impact analysis, Engineers assessing blast radius before changing a shared function with `cymbal impact -D`, Agent builders who cache file:Name plus body_hash to detect when a symbol's source changed.

Look elsewhere if you are Teams that want a graphical code navigation or automated refactoring UI, Anyone who needs a shared, cloud-hosted index across a distributed team, Workflows centered on IDE-level debugging rather than terminal queries, Teams that can't add a CLI install to their environment or maintain per-repo indexes.

Skip it if Skip Cymbal if you want a graphical code browser, a shared team-wide index, or automated refactoring — it is a local per-repo CLI that answers structural questions from an SQLite index and leaves editing to you.

Generated

Real-world workflow fit

Concrete scenarios for the personas Cymbal actually fits — and what changes day-one when you adopt it.

Developer dropped into an unfamiliar polyglot repo

Runs `cymbal index .` at the repo root, then `cymbal structure` to see entry points, then `cymbal investigate OpenStore` on the symbol everyone keeps mentioning.

Outcome: One indexed SQLite database answers the initial orientation questions; `investigate` returns source plus callers plus shallow impact without them having to know which graph command to pick.

Coding agent asked to modify a shared function

After `cymbal hook install claude-code`, the agent runs `cymbal context handleRegister` and `cymbal impact handleRegister -D 3 --json` before editing, then checks a stored `body_hash` to confirm the symbol it planned against is unchanged.

Outcome: The agent makes one indexed call per question instead of a dozen file reads, and can detect staleness before writing a diff.

Engineer reviewing a colleague's PR

Runs `cymbal changed` on the branch to map the git diff to affected symbols, then `cymbal impact --graph` on the riskiest one to see the caller map as Mermaid.

Outcome: The review comment names the affected symbols and their callers rather than describing diff hunks.

Workflow scenarios generated

Use cases

  • Ask 'who calls this function' and get call sites instead of grep text matches.
  • Assess blast radius with `cymbal impact -D 3` before changing a shared function.
  • Bundle source, referenced types, callers and imports into one `cymbal context` read for an agent about to edit code.
  • Onboard onto an unfamiliar repo with `cymbal structure` to find entry points, then `investigate` per symbol.
  • Turn a git diff into affected symbols and their impact with `cymbal changed`.
  • Search symbols across a polyglot repo without leaving the terminal or switching tools.
  • Give a coding agent one `--json` call instead of a dozen file reads plus a ripgrep in the prompt.
  • Store `file:Name` with its `body_hash` and check in one call whether a symbol changed.

Setup time & first value

How long it actually takes to get something useful out of Cymbal — broken out by persona, not the marketing-page minute.

For a developer already on Homebrew, `brew install cymbal` from homebrew-core needs no tap, so install is minutes and then `cymbal index .` runs immediately — the vendor's own example indexed 105 files and 1921 symbols. An agent path is faster if you skip the shell: hand it the vendor's four-line prompt (install, index, structure, then `cymbal hook install claude-code`). Go installs need CGO plus

Switching to or from Cymbal

How to bring data in from common predecessors and how to get it back out — written for the switcher, not the buyer.

Migrating in
  • →From ripgrep-in-a-prompt agent loops: keep grep-shaped habits via `cymbal search --text`, then switch symbol lookups to `cymbal search` and switch the agent to `--json` output with documented exit codes.
Migrating out
  • ↗To plain grep and jump-to-definition: nothing is written into your source — delete `.cymbal/index.db` (and the `.cymbal/` entry in `.gitignore`) and you are back to filesystem search.

Integrations

Tutorials & Learning

YouTube returned 6 videos for “Cymbal”, and we withheld 6: 6 could not be judged, because “Cymbal” is a single word that other videos use for other things. We are showing none, because we could not prove any of them are about Cymbal.

What are the best Cymbal alternatives?

The closest alternatives to Cymbal we list are GitHub Copilot, Sourcegraph Cody and Sourcebot. Ranked by direct product-type match, not category overlap.

Closest alternatives to Cymbal
AlternativePricingStarts atLast verified
GitHub CopilotFreemiumPricing not published—
Sourcegraph CodyPaidPricing not published—
SourcebotFreemiumPricing not published—

Alternatives to Cymbal

View all
GitHub Copilot

GitHub Copilot

GitHub's AI coding agent for inline completion, delegated pull requests, code review, and recurring agent tasks across your repos.

FreemiumTry
Sourcegraph Cody

Sourcegraph Cody

Sourcegraph Cody: an AI coding assistant that grounds chat and agentic code changes in context from your whole multi-repo codebase.

PaidTry
Sourcebot

Sourcebot

Self-hosted code search and AI code Q&A that gives coding agents context across every repo you own

FreemiumTry

Tools that pair well with Cymbal

Common stack mates teams adopt alongside Cymbal, with the specific reason each pairing earns its keep.

Cymbal vs its closest rival

Cymbal's closest head-to-head is with Spider Cloud — Spider Cloud and Cymbal serve complementary AI agent needs: Spider Cloud extracts live web data into LLM-ready formats, while Cymbal indexes local codebases for agentic code navigation. Choose Spider Cloud if your agent needs up-to-date web context; choose Cymbal if your agent needs to understand and navigate a codebase. Both are well-suited for AI agent developers, but they don't overlap beyond that. Verdict generated

Head-to-head comparisons

Frequently asked questions

Used Cymbal? Help shape our editorial sentiment research.