August 16, 2026 · By YasKad
rtk-ai/rtk

RTK: less terminal output for coding agents

rtk-ai/rtk · 81,694★ · 5,171 forks

Everything worth knowing about rtk-ai/rtk: a Rust command-line proxy that filters development tool output before it reaches a language model’s context.


What RTK is

RTK (Rust Token Killer) is a Rust binary that wraps development commands and returns a more compact version of their output. The stated goal is to reduce the Bash output bytes an agent sees by 60 to 90 percent, not to promise the same reduction in a model provider’s bill.

Conceptual illustration of token compression: a chaotic cloud of red text and code is pulled into a black hole and emerges as a neon-cyan geometric crystal, symbolizing the 60-90% reduction in terminal output.

The distinction matters: the README explains that the token figure is estimated as bytes / 4, that Bash output is only part of the input tokens, and that output tokens also contribute to cost. So the percentages are a measure of output compression, and the absolute totals are approximate.

RTK covers more than a hundred command patterns: files, Git and the GitHub CLI, tests, static analyzers, package managers, AWS, containers, Kubernetes, Pulumi, and logs. It is a local tool: it runs the underlying command and filters its result; its README states a single binary, no runtime dependencies, and under 10 ms of overhead.

Illustration of an orange neon Rust gear integrated into a high-speed data pipeline, representing the Rust-based proxy that intercepts and rewrites shell commands with minimal overhead.

The origin: a young project for the contextual cost of agents

The GitHub API dates the repository’s creation to January 22, 2026. The README identifies Patrick Szymkowiak as founder and Florian Bruniaux, Adrien Eppling, Nicolas Le Cam, and Takayuki Maeda as core members. The rtk-ai organization describes its purpose as optimizing agent-assisted programming work and links www.rtk-ai.app as the product’s site.

The tension it addresses is concrete: coding agents run commands whose output can be large and repetitive, while context windows and token budgets are finite. RTK tries to solve it underneath the agent, with adapters or hooks that rewrite shell commands, rather than asking the model to remember to manually invoke another program.

No launch announcement, founding blog post, or attributable X post from the team with more narrative detail was retrieved. The Hacker News posts found document early distribution, but they do not substitute for an official launch story.

Philosophy and principles

The contribution guide formulates operating principles that also explain the design:

  • Correctness before savings: when a person or the model requests detailed output through explicit options, the filter must preserve more content.
  • Transparency: filtered output must remain a useful, recognizable subset of the real output, with no headers invented by RTK.
  • Non-blocking: if a filter fails, it must fall back to the original output; hooks must exit successfully so the command runs without rewriting.
  • Minimal overhead: the documentation calls for under 10 ms of startup time, with no network calls or disk reads on the critical path.
  • Extensibility: simple filters can be declared in TOML; those that require structured parsing or state are implemented in Rust.

Blue neon digital shield protecting a data stream that branches into three paths—green for correctness, transparent for transparency, and orange for the non-blocking fallback valve—representing RTK's operating principles.

How it works

When using rtk git status, rtk pytest, or rtk docker logs, RTK runs the corresponding tool and applies a command-dependent strategy: it strips noise, groups similar items, trims redundancy, or deduplicates repeated lines. For example, it compacts git status, keeps failures and reduces passed tests to a counter, or groups ruff diagnostics by rule and file.

Futuristic terminal interface where a neon light sweep reduces a large block of test logs and git status output into a condensed summary tagged 'Reduced 85%'.

Automatic integration installs a hook that transforms a Bash call like git status into rtk git status before it runs. Tools without that kind of hook use their documented mechanisms: instructions in AGENTS.md for Codex, project rules for Windsurf, Cline/Roo Code, Kilo Code, Antigravity, and Kimi, or extensions and plugins for OpenCode, OpenClaw, Pi, and Hermes.

The practical limit is just as relevant: Claude Code’s hooks only intercept Bash calls. Its internal Read, Grep, and Glob tools are not rewritten; for those cases the README recommends using shell commands or explicitly invoking rtk read, rtk grep, or rtk find.

Official and semi-official status

No evidence was retrieved that RTK has been accepted into an official marketplace run by Anthropic, OpenAI, Cursor, or another provider, nor of a formal endorsement from them. Its status is semi-official in the technical sense, not institutional: the repository itself maintains adapters for fifteen environments, including Claude Code, Copilot, Gemini CLI, Codex, Cursor, OpenCode, OpenClaw, Pi, Hermes, and Factory Droid. Each integration uses whatever hook, rule, or plugin interface the environment offers.

Purple neon AI core connected via glowing data streams to holographic nodes labeled Claude Code, Copilot, Cursor, Gemini CLI, and Codex, representing RTK's adapters for fifteen environments.

The documentation does not claim that those providers certify RTK, its results, or its safety. Its visible adoption—74,931 stars on GitHub at the time of measurement—may indicate interest, but it does not constitute a standard designation.

The ecosystem

rtk-ai repositories

Querying the organization’s public repositories retrieved the following related projects, grouped only because they belong to the same organization; not all of them are dependencies of RTK:

  • rtk-ai/vox (155 stars): a toolkit for low-latency voice recognition and synthesis.
  • rtk-ai/icm (516 stars): persistent memory for agents, a dependency-free binary native to MCP.
  • rtk-ai/grit (109 stars): a version-control proposal for agents and parallel work on the same code.
  • rtk-ai/homebrew-tap (19 stars): a Homebrew formula repository for rtk and vox.
  • rtk-ai/rtk-ldp (9 stars): RTK’s landing page.
  • rtk-ai/rtk-pro-releases (0 stars): releases and documentation for RTK Pro.

Forks, extensions, and translations

The forks API did not surface a community translation with its own identity among the top twenty. It did find thehoff/contextcrawler (4 stars), a fork whose description claims to integrate capabilities from RTK and ContextZip with security improvements. dioptx/rtk-plus (6 stars) and algolia/rtk (6) also appear, but their descriptions are those of the upstream project; for that reason they should be treated as forks rather than verified ports.

The project does maintain official internationalization in the repository: README_es.md, README_fr.md, README_zh.md, README_ja.md, README_ko.md, and README_pt.md, in addition to the main README. This demonstrates multilingual documentation support, not the existence of separate projects.

Repository numbers

Measured: August 6, 2026, public GitHub API.

MetricValue
Stars74,931
Forks4,716
Real subscribers192
Commits1,451
Open issues per the API1,887
Main languageRust
LicenseApache-2.0
Default branchdevelop
Latest stable release retrievedv0.44.2 (August 1, 2026)

Holographic GitHub repository dashboard with neon metrics: 74,931 stars, Rust as the main language, and an Apache-2.0 license, against a dark background of code structures.

The commit total comes from the last pagination link of GET /commits?per_page=1. The API’s watchers_count metric duplicates the star count; that’s why subscribers_count is reported here as the real subscriber number. open_issues_count can include open pull requests, so it does not necessarily equal user-reported issues. Among the top contributors returned by the API are aeppling (523), pszymkowiak (215), and FlorianBruniaux (175); the list is an endpoint ranking, not an attribution of authorship.

How the community received it

Futuristic world map with fiber-optic nodes pulsing in cyan, magenta, and orange, representing the conversation about RTK on Hacker News, YouTube, and GitHub forks.

The retrievable public reception is uneven. Hacker News has several direct submissions, but with limited conversation:

  • Thread 47189599, submitted by RyanShook on February 28, 2026: 18 points and 3 comments. It is the highest-scoring direct submission located.
  • Thread 46974740, a Show HN by patrick4urcloud on February 11, 2026: 4 points and 4 comments. The opening message presents the product, so it documents distribution rather than an independent review.
  • Thread 47714995, submitted by ahamez on April 10: 5 points and 2 comments.

The root items of the first two threads were retrieved, but the sparse discussion did not allow extracting a concrete, attributable, representative technical opinion. For that reason, the score is not converted into widespread enthusiasm, nor is a critique invented.

A YouTube search also located tutorials and demos, including “Claude Code + RTK: Saves 90% Tokens” (video CncyYt9ozAQ), “RTK (Rust Token Killer): Up To 90% Token Savings For Claude Code And Codex” (5p0f2p9Gn0o), and “AI Tools #3: Saving Tokens with OpenCode, DCP, and RTK” (68Bs81B4rJg). Their channels and view counts were not reliably retrieved, so they are offered as resources, not as independent assessments.

Reddit responded with a login page when trying to search for the exact name; no verifiable threads were retrieved in r/programming, r/selfhosted, r/LocalLLaMA, r/devops, r/netsec, or r/MachineLearning. Direct search on X requires authentication. The retrieved Product Hunt page did not surface a verifiable launch. The npm API returns 1,449 weekly downloads for the package named rtk, but the README warns of a name collision with another project (“Rust Type Kit”); that figure is not attributable to this repository and is excluded from the adoption numbers.

RTK versus other proposals

No independent comparisons or verifiable benchmarks against a direct competitor were retrieved. The technically justifiable comparison is with each agent’s native mechanisms: RTK does not replace the model or the terminal; it adds a filtering layer before the agent reads the output. In Claude Code and Cursor it can use tool hooks; in Codex it installs instructions; in Hermes it installs a plugin adapter that mutates commands via rtk rewrite.

thehoff/contextcrawler is a derivative, not an evaluated alternative: its description mentions RTK and ContextZip, but no methodology was retrieved that would allow comparing quality, safety, or savings. Consequently, there is no basis for declaring RTK faster, more accurate, or cheaper than another product.

Quick usage guide

Installation and first run

On macOS with Homebrew:

brew install rtk

On Linux or macOS, the official installer places the binary in ~/.local/bin:

curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
rtk --version
rtk gain

It can also be built from the repository:

cargo install --git https://github.com/rtk-ai/rtk

Futuristic terminal running the installation commands brew install rtk and cargo install --git, with a green neon funnel vacuuming up text clutter to leave a clean output.

The README warns that cargo install rtk may install a different crates.io package; for this project, the command with --git must be used. After installing, the adapter is chosen and the agent restarted:

rtk init -g                 # Claude Code or Copilot by default
rtk init -g --codex         # Codex
rtk init -g --agent cursor  # Cursor
rtk init --agent hermes     # Hermes

Common workflows

  1. Reviewing Git changes: rtk git status, rtk git diff, and rtk git log -n 10 return condensed status, diffs, and commits.
  2. Locating a test failure: rtk pytest, rtk cargo test, or rtk test <command> reduce passed results and keep failures; if a command fails, RTK can leave the full output in ~/.local/share/rtk/tee/.
  3. Inspecting code or long logs: rtk read file.rs -l aggressive, rtk grep "pattern" ., and rtk docker logs <container> prioritize structure, grouping, and deduplication.
  4. Measuring usage: rtk gain --graph, rtk gain --history, rtk discover --all --since 7, and rtk session show estimated savings, uncovered opportunities, and recent adoption.

Essential configuration

  • ~/.config/rtk/config.toml: main configuration on Linux; on macOS use ~/Library/Application Support/rtk/config.toml.
  • [hooks].exclude_commands: a list of commands that should not be rewritten, for example curl or playwright.
  • [tee].enabled: keeps the original output on failure; enabled by default.
  • [tee].mode: choose failures, always, or never for the recovery files.
  • RTK_TELEMETRY_DISABLED=1: blocks telemetry even if consent had been given.

Common pitfalls and fixes

  • rtk gain doesn’t exist after installing with Cargo: the same-named package was likely installed instead; reinstall with cargo install --git https://github.com/rtk-ai/rtk.
  • No automatic rewriting: run rtk init -g —or the corresponding agent adapter—, use rtk init --show to verify it, and restart the agent.
  • An internal Claude Read or Grep isn’t compressed: those tools don’t go through the Bash hook; use rtk read, rtk grep, or shell commands.
  • Windows reports it can’t find rg: install ripgrep and put it on PATH; the README suggests winget install BurntSushi.ripgrep.MSVC.
  • Detailed output is needed: use the command’s verbose options or -v, -vv, or -vvv; the project’s philosophy requires not sacrificing explicitly requested detail.

Integrations and migration

RTK integrates via hooks with Claude Code, Copilot, Cursor, and Gemini; via instructions with Codex and Kimi; and via plugins or extensions with OpenCode, OpenClaw, Pi, and Hermes. For Hermes, rtk init --agent hermes installs the runtime files under ~/.hermes/plugins/rtk-rewrite/. No migration guide from another context compressor was retrieved in the documentation; the practical documented path is to install the chosen agent’s adapter and keep explicit rtk commands when you want to control the filtering.

How to contribute

The project accepts bug reports, fixes, new filters, reviews, and documentation. The guide asks for a clear issue with reproduction steps or a focused pull request. The documented flow is:

git checkout develop
git pull origin develop
git checkout -b feat/scope-your-clear-description

Branches use fix/, feat/, or chore/ prefixes; commits follow Conventional Commits. Every change must include tests and, if it affects documented behavior, documentation. The pull request must target develop, pass CI, and pass maintainer review; the subsequent chain is develop → release branch → master. Signing the CLA via the CLA Assistant automatic comment is required before merging contributions.

Use cases and who this repository can help

  • People running coding agents against large repositories: they can compress listings, searches, diffs, and test results before they reach the agent’s context.
  • Teams debugging CI, containers, or infrastructure: the documented wrappers for the GitHub CLI, Docker, Kubernetes, AWS, and Pulumi cut down repetitive progress output while keeping failures and essential fields.
  • Teams with multiple agent environments: RTK offers adapters specific to Claude Code, Codex, Gemini, Cursor, Copilot, OpenCode, Hermes, and others; it does not force everyone onto the same interface.
  • Anyone who needs to audit the effect: rtk gain, discover, and session let you review estimated savings and commands not yet filtered.
  • Anyone who prioritizes error recovery: the tee option keeps unfiltered output when a command fails, so compression doesn’t force you to rerun it for full diagnostics.

Resources


Note: this article combines the GitHub API and repository, the official site, Hacker News, video searches, and registry checks performed on August 6, 2026. The figures correspond to that point in time.

Comments