Model or dataset
freecodexyz/free-code avatar
freecodexyz/free-code

free-code: A Fork of Claude Code with Telemetry Removed and Experimental Flags Unlocked

The free build of Claude Code. All telemetry removed, security-prompt guardrails stripped, all experimental features enabled.

8,757 stars2,042 forksTypeScriptLicense varies

At a glance

What is it?
free-code is a community fork of the Claude Code CLI that strips all outbound telemetry, removes Anthropic's system-prompt guardrails, unlocks 54 experimental feature flags, and adds support for five distinct model providers through environment variable switching.
Who is it for?
free-code is for developers who want the full Claude Code surface area: all feature flags on, no phone-home, no system-prompt injections. The multi-provider model makes it useful for teams routing requests through AWS Bedrock or Google Vertex AI where the official CLI does not offer that option natively.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 64 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What free-code Is and What It Strips from Upstream

Claude Code's source became publicly accessible on March 31, 2026 through a source map exposure in the npm distribution. free-code is a fork built on that snapshot. The repository description is direct: all telemetry removed, security-prompt guardrails stripped, all experimental features enabled.

Three categories of changes were applied. First, outbound telemetry: the upstream binary sends data through OpenTelemetry and gRPC, GrowthBook analytics, Sentry error reporting, and custom event logging. free-code dead-code-eliminates or stubs all those outbound endpoints. The README notes that GrowthBook feature flag evaluation still runs locally because the runtime needs it for feature gating, but it no longer reports back to any external service.

Second, system-prompt guardrails: the upstream CLI injects Anthropic-authored instructions into every conversation, including hardcoded refusal patterns and managed-settings security overlays fetched from Anthropic's servers. free-code removes those injections. The model's own safety training is still in effect; this removes the extra prompt-level layer that the CLI adds on top.

Third, feature flags: the upstream npm release gates most experimental features behind compile-time switches. free-code unlocks all 54 flags that compile cleanly. The full list is in FEATURES.md in the repository.

Installing free-code via the Quick Install Script

The README offers a one-command install path:

bash
curl -fsSL https://raw.githubusercontent.com/paoloanzn/free-code/main/install.sh | bash

The script checks the system, installs Bun if it is not present, clones the repository, builds with all experimental features enabled, and symlinks free-code on the PATH. After the script completes, run free-code and use the /login command to authenticate with your chosen model provider.

Bun version 1.3.11 or higher is required. If Bun is not already installed, the manual path is:

bash
curl -fsSL https://bun.sh/install | bash

For engineers who want to build from source rather than using the install script:

bash
git clone https://github.com/paoloanzn/free-code.git
cd free-code
bun build
./cli

The plain bun build command produces a production-like binary at ./cli with only the VOICE_MODE flag enabled. To get all 54 experimental flags, use the full unlock build:

bash
bun run build:dev:full

This outputs ./cli-dev with every experimental flag compiled in.

Five Model Providers Through Environment Variables

One of the most practical additions over the upstream build is explicit multi-provider support. The README documents five providers, each activated by setting an environment variable before launching the binary.

The default is Anthropic's direct API, authenticated with ANTHROPIC_API_KEY or OAuth. To route requests through OpenAI Codex, which requires a separate Codex subscription:

bash
export CLAUDE_CODE_USE_OPENAI=1
free-code

For teams whose infrastructure runs on AWS, Bedrock support is activated with:

bash
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION="us-east-1"
free-code

This uses standard AWS credentials from environment variables, ~/.aws/config, or an IAM role. Models are mapped to Bedrock ARN format automatically. Google Cloud Vertex AI follows the same pattern:

bash
export CLAUDE_CODE_USE_VERTEX=1
free-code

Vertex AI uses Google Cloud Application Default Credentials from gcloud auth application-default login. Finally, Anthropic Foundry for dedicated deployments:

bash
export CLAUDE_CODE_USE_FOUNDRY=1
export ANTHROPIC_FOUNDRY_API_KEY="..."
free-code

No code changes are needed to switch providers; the environment variable alone controls routing. The README documents that models are mapped to each provider's format automatically, including the Bedrock ARN convention and Vertex's @latest notation.

Build Variants and Custom Feature Flag Selection

The build system exposes four named variants. The production-like binary (bun run build) outputs ./cli with VOICE_MODE only. The development stamp build (bun run build:dev) outputs ./cli-dev with the same flags. The full unlock build (bun run build:dev:full) outputs ./cli-dev with all 54 experimental flags active. An alternative output path (bun run compile) writes ./dist/cli.

Engineers who want a specific subset of flags can pass them individually:

bash
bun run ./scripts/build.ts --feature=ULTRAPLAN --feature=ULTRATHINK

Or add a flag on top of the development build:

bash
bun run ./scripts/build.ts --dev --feature=BRIDGE_MODE

The package.json defines the binary entry points: both claude and claude-source are mapped to ./cli, so the binary responds to both names after installation.

The basic CLI usage mirrors the upstream interface. The README documents:

bash
./cli
./cli -p "what files are in this directory?"
./cli --model claude-opus-4-6

The interactive REPL is the default when no -p flag is passed. One-shot mode with -p returns output and exits.

What the FEATURES.md Audit Covers

The repository includes FEATURES.md, described as a full audit of the 88 feature flags in the upstream codebase. The README states that 54 of those flags compile cleanly in free-code's build; the rest are gated for reasons the audit document explains.

The README mentions VOICE_MODE as one of the flags present in the production-like build. Flags like ULTRAPLAN and ULTRATHINK appear in the custom build examples but their exact behavior is documented in FEATURES.md rather than the README. The gap between the full unlock build and the production-like build is practical: some experimental flags may introduce instability or incomplete behavior, which is why the install script uses the full unlock build while the plain bun build does not.

The AGENTS.md and CLAUDE.md files are present in the repository alongside FEATURES.md, suggesting that the project itself uses AI-assisted development tooling in its own workflow.

Limitations and What the License Field Does Not Say

Bun is a hard requirement. The README lists Bun 1.3.11 or later as the only supported runtime, and macOS or Linux (with Windows via WSL). There is no Node.js build path. In environments where only Node.js is available, this is a blocking constraint.

The license field in package.json is absent; the repository has no LICENSE file visible in the top-level listing. The README does not include a license section. The upstream Claude Code source that this fork is based on became available through a source map extraction from an npm distribution, not through an official open-source release by Anthropic. The legal status of the fork is unresolved in the repository's own documentation, which matters for teams in regulated industries or with strict open-source compliance requirements.

The project has no GitHub releases. The last push was on 2026-07-29. Anyone tracking the repository for updates is following the main branch directly without a versioned release channel.

The official Claude Code CLI, distributed as @anthropic-ai/claude-code via npm, is the upstream alternative. It runs on Node.js without a Bun requirement, receives official updates, and maintains Anthropic's supported telemetry and safety layers. The trade-off is that the official build has no multi-provider routing, keeps all telemetry enabled, and does not expose the experimental flags.

Editorial conclusion

free-code is for developers who want the full Claude Code surface area: all feature flags on, no phone-home, no system-prompt injections. The multi-provider model makes it useful for teams routing requests through AWS Bedrock or Google Vertex AI where the official CLI does not offer that option natively. The main constraint is Bun as a hard runtime requirement; environments that cannot run Bun 1.3.11 or later are blocked from building or running the binary. The license field in package.json is unset, and the upstream source's own provenance involves a source map extraction from an npm distribution, which raises questions about redistribution rights that anyone operating this in a commercial context needs to assess independently.

Frequently asked questions

What is free-code and how does it differ from official Claude Code?

free-code is a community fork of the Claude Code CLI built from source that became available via a source map exposure in the npm package. It removes all outbound telemetry, strips system-prompt guardrails injected by the upstream CLI, unlocks 54 experimental feature flags, and adds explicit support for five model providers through environment variables.

What is the free-code alternative to the official Claude Code CLI?

The official alternative is the @anthropic-ai/claude-code npm package, which runs on Node.js and receives official updates from Anthropic. It retains all telemetry and system-prompt injections that free-code removes, and it does not expose experimental flags or multi-provider routing.

What Bun version does free-code require?

free-code requires Bun version 1.3.11 or later. The README also lists macOS or Linux as supported operating systems, with Windows available through WSL.

How do I enable Claude Code free with AWS Bedrock?

Set the environment variable CLAUDE_CODE_USE_BEDROCK=1 and AWS_REGION to your preferred region before running free-code. The binary maps models to Bedrock ARN format automatically and uses your standard AWS credentials from environment variables, ~/.aws/config, or an IAM role.

Official sources

  1. freecodexyz/free-code on GitHub
  2. Issues
  3. Project website
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/freecodexyz-free-code.svg)](https://hysenlabs.com/projects/freecodexyz-free-code)