mrkeyoor.com_
Thu 17 Sept 13:00 UTC
AI Toolsevaluationupdated 01 Sept 2026

caveman review

Caveman is a set of local tools that tries to cut the text coding agents read and write. Its skill asks agents for shorter answers, while its proxy compresses request context and keeps recoverable copies of the original data on your machine.

+1,009stars / 7d
Verdict

Our Caveman install pulled 391 packages and used 915 MB, then its test command stopped after 4 seconds on a Node option the runtime rejected. Try the skill first if shorter agent answers are the goal; adopt the proxy only after checking output quality, credential routing, telemetry, and the BSL terms. Claude Remote Control users and third-party hosted services have clear reasons to wait or choose another path.

We ran it

Lab card: what happened when we ran cavemanScreenshot of caveman (docs.caveman.so/docs/quickstart)
Install✓ · 47s391 packages · 915 MB
Buildn/ano build script
Tests✗ · 4sran, no count parsed
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo1400 files~249,058 lines of source · 16.4 MB · 7 CI workflows · tests dir

Answers from our run

Does caveman build from source?

Dependencies installed in 47 seconds (391 packages), and the project has no separate build step. We cloned commit df2ccd8 into a clean Debian container with 3 CPUs and no project-specific setup.

Do caveman's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does caveman have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use caveman?

Hosted agent services that would expose Caveman's engine to third parties: the README says hosted, managed, or embedded third-party use of the BSL runtime needs a commercial license.

What are the alternatives to caveman?

Context Mode, Repomix, LiteLLM. Our Caveman install pulled 391 packages and used 915 MB, then its test command stopped after 4 seconds on a Node option the runtime rejected.

Setup2/547-second install, but the test command stops on a Node option
Docs5/5Install, privacy, recovery, benchmarks, and license limits are explicit
Community5/5102,180 stars and issue activity through September 2026
Maturity3/5Broad integrations, with current proxy safety and compatibility reports

Discussed on

  1. hnCaveman: Why use many token when few token do trick904 points

Who it’s for

Developers whose coding-agent sessions regularly fill the context window with logs, search output, diffs, or repeated instructions.
Claude Code, Codex, Gemini CLI, Aider, opencode, Hermes, OpenClaw, or Pi users willing to put a local proxy in the provider request path.
Teams prepared to compare answers before and after compression instead of treating token reduction as proof of equal quality.
MCP users who want compression, retrieval, statistics, and TOON conversion exposed as tools.

Who it’s NOT for

Hosted agent services that would expose Caveman's engine to third parties: the README says hosted, managed, or embedded third-party use of the BSL runtime needs a commercial license.
Claude Code users who depend on Remote Control today: open issue 947 reports that Caveman's ANTHROPIC_BASE_URL override prevents Remote Control from starting.
Operators who cannot accept provider keys passing through a loopback proxy: open issue 945 describes a code path that may route inherited credentials to an unrelated process already listening on port 8787.
Organizations that require every runtime component to be OSI open source now: the skill and CLI are MIT, while the engine and proxy remain BSL-1.1 until their change date.

Setup reality

Our sandbox install at commit df2ccd8 succeeded in 47 seconds, adding 391 packages and using 915 MB. There was no build target. The test command failed after 4 seconds with exit 9 because Node rejected the --test-force-exit option; the log showed no test results beyond that error.

The installer needs Node.js 18 or newer. The proxy uses the credentials already configured for your chosen model provider and forwards requests there; local compression needs no Caveman account. Anonymous command and token-count telemetry is enabled by default unless you turn it off.

Agent support varies by wrapper, and browsing needs Chrome. Recovery data lives in a local SQLite file. The checkout is a 16.4 MB monorepo with 1,400 files and about 249,058 source lines, so this is a sizable integration layer rather than a tiny prompt file.

The skill and proxy attack different token costs

Caveman v2.4.0 combines two products under one name. The MIT skill changes how an agent writes, asking for compact answers while preserving code, commands, and errors. The local proxy tackles input instead. It sits between a supported coding agent and the provider, classifies payloads such as logs, JSON, source, diffs, search results, and HTML, then sends a smaller form upstream. You can install either part by itself, which is the sensible way to evaluate a tool that can change both prompts and replies.

This has grown far beyond a novelty prompt. The commit we inspected contained 1,400 files, about 249,058 lines of source, and a workspace structure spread across Node and Go components. Commands cover session-history analysis, shell-output compression, memory, browser extraction, agent wrapping, and skill conversion. Eight named agent profiles are documented, alongside recipes for provider SDKs and frameworks. That breadth is useful when several context drains share one workflow, but it also means an update can interact with agent configuration, network routing, local storage, and hooks.

Byte-exact recovery makes compressed context reversible

Caveman v2.4.0 exposes 5 MCP tools, including caveman_retrieve, which turns a recovery handle back into the stored original bytes. Its context packer ranks candidate material by relevance, recency, and error signal, then returns selected pieces in their original order. A dropped log line or collapsed array does not have to disappear permanently. That is a better failure model than irreversible summarization, provided the agent recognizes when it needs the original and asks for it.

The repository still asks you to trust a substantial local runtime. Our checkout was 16.4 MB before installation and occupied 915 MB after pnpm added its dependencies. Recovery copies live in SQLite, while browser work needs a local Chrome installation. The README says prompts, code, and file paths are excluded from anonymous telemetry, but command names and token counts are sent by default. caveman telemetry off and DO_NOT_TRACK=1 are documented, so privacy-sensitive teams can set the policy before the first real session.

What happened when we ran it

Our sandbox installed commit df2ccd8 in 47 seconds. Pnpm added 391 packages and the resulting dependency tree used 915 MB on disk. Npm audit reported 0 known vulnerabilities across all listed severity levels. The repository supplied no build script or target, so we skipped that step rather than inventing an equivalent. Our measurement setup was a fresh unprivileged Debian container with 3 CPUs, 8 GB of RAM, Node 22, and no secrets. These results establish setup cost, not token savings or answer quality.

The test command failed with exit 9 after 4 seconds. It invoked Node's test runner with --test-force-exit, and Node printed bad option: --test-force-exit; pnpm then reported the lifecycle failure. The log never reached individual test cases, so it does not tell us whether Caveman's installer or hook behavior is correct. It tells us that the repository's declared test command did not run successfully in the stated environment. A buyer should reproduce the suite on the exact Node version chosen for deployment.

The local proxy adds a credential boundary

Caveman v2.4.0 routes supported wrappers through a proxy on port 8787 and passes existing OAuth or API credentials through. Compression happens locally, and the README says there is no required Caveman backend. That keeps a new cloud account out of the path, but the proxy still becomes part of the credential and prompt route. Security review therefore needs to cover process ownership on that port, local file access to recovery data, telemetry policy, and what happens when the proxy cannot start cleanly.

Open issue 945 describes a specific fail-open concern: if another process owns port 8787, the wrapper reportedly warns about it and avoids killing it, yet may still point the agent and inherited provider credentials at that listener. The report is based on code-path inspection and does not claim a live exploit. Our 3-CPU, 8 GB sandbox had no secrets, so our run did not test credential forwarding. Until the issue is resolved and verified, operators should treat the loopback listener as a security boundary and confirm which process owns it before wrapping an authenticated agent.

Claude Remote Control and third-party hosting are real limits

Open issue 947 reports that Caveman's ANTHROPIC_BASE_URL override prevents Claude Code Remote Control from starting with Caveman CLI 1.3.1 and Claude Code 2.1.252. The reporter reproduced it with both the VS Code extension and npm package. Another open report, issue 946, says a Pi session using OpenCode Go was routed to the original OpenAI endpoint and returned a 401. These are recent user reports rather than findings from our sandbox, but they concern the exact provider-routing layer the proxy depends on.

The project is active: GitHub recorded 102,180 stars, 117 combined issues and pull requests, and a last push on August 29, 2026. Release v2.4.0 arrived that day. Our scan found 7 CI workflow files and a tests directory, though no Dockerfile. Licensing deserves the same attention as activity. The skill, CLI, and several client surfaces are MIT; the engine, proxy, MCP server, browser, and related runtime are BSL-1.1. First-party self-hosting is allowed, while third-party hosted, managed, or embedded service use requires a commercial license before the stated change date.

Alternatives

ProjectWhat it isPick it when
Context Mode gh↗A local MCP server that keeps bulky tool output in SQLite and returns selected results to the agent.pick this instead when tool-output isolation and post-compaction recovery matter more than a provider proxy or terse-answer skill.
Repomix gh↗A repository packer that produces filtered, token-counted context for AI tools.pick this instead when the problem is packaging source code for an agent, rather than compressing every provider request.
LiteLLM gh↗A multi-provider model gateway with routing, budgets, logging, and an OpenAI-compatible interface.pick this instead when provider routing and centralized cost policy matter more than shrinking prompts and tool output.

What people are saying

  1. [github-trending] JuliusBrussee/caveman
  2. [producthunt] Caveman

Sources

  1. Caveman README
  2. Caveman v2.4.0 release
  3. Caveman security and privacy documentation
  4. Foreign loopback process credential-routing report
  5. Claude Code Remote Control compatibility report
  6. Pi OpenCode Go routing report

More ai tools reviews

yolov5 · eve · MemOS · LongCat-Video · Concat · DLSS5-Feeder · the whole board →