Claude Code Free and Unlimited with NVIDIA NIM (No GPU)
Run a local proxy that translates Claude Code requests to NVIDIA NIM's hosted models. You need Python, a free NVIDIA API key, and the community repo, but no GPU and no paid Claude plan.

Claude Code expects an Anthropic API endpoint. NVIDIA NIM hosts open models behind a different API. The bridge between them is a small proxy: Claude Code sends its normal requests to the proxy, and the proxy translates them to NVIDIA's hosted service.
That means no GPU, no local model download, and no Claude subscription. Your laptop runs the CLI and the proxy. NVIDIA's servers run the model.
This is a community setup, not an official Anthropic feature. Read the repository before you run it, keep the proxy on localhost, and treat the API key like a password.
What you need
- Python, installed through uv
- Git
- A free NVIDIA NIM account and API key
- Claude Code CLI
- Windows, macOS, or Linux
Step 1: Install uv and Python
uv manages Python and the project environment in one tool.
macOS and Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Close and reopen the terminal, then check:
uv --version
Step 2: Clone the repository
git clone https://github.com/Alishahryar1/free-claude-code
cd free-claude-code
Read the README before running anything. It contains the current install and start commands, and those can change between versions.
Install the project dependencies with uv, following the README. The goal is to have the proxy run inside the project environment, not in your global Python install.
Step 3: Create the NVIDIA NIM key
Sign in to NVIDIA's build portal and create an API key for NIM. Copy it once and store it safely.
Do not commit the key. The project uses an environment file for local secrets.
Step 4: Configure the environment
Create or edit the .env file in the repository and add your key. The exact variable names are in the README. A typical file looks like this:
NVIDIA_API_KEY=YOUR_NVIDIA_API_KEY
If the project supports model selection, set the NVIDIA model you want to use. Otherwise leave the default and change it later.
Step 5: Map the models
Claude Code sends requests for model names such as Sonnet or Haiku. The proxy maps those names to the NVIDIA model you configured. If the mapping is wrong, Claude Code may start but every request fails with a model error.
Use the model names exactly as the repository documents them. Check the NVIDIA model catalog for the exact identifier, not the display name.
Step 6: Start the proxy
Run the start command from the README. The proxy should print the local URL it is listening on.
Keep that terminal open. If you close it, Claude Code loses its endpoint.
Step 7: Point Claude Code at the proxy
In a second terminal, set the Anthropic base URL to the local proxy:
export ANTHROPIC_BASE_URL="http://localhost:YOUR_PORT"
export ANTHROPIC_API_KEY="local-proxy"
Windows PowerShell:
$env:ANTHROPIC_BASE_URL = "http://localhost:YOUR_PORT"
$env:ANTHROPIC_API_KEY = "local-proxy"
Then install and run Claude Code:
npm install -g @anthropic-ai/claude-code
claude
Ask it to explain a file. If it answers, the whole chain works: CLI to proxy to NVIDIA NIM.
Troubleshooting
- Connection refused: the proxy is not running, or the port in the base URL is wrong.
- 401 or 403: the NVIDIA key is missing, invalid, or not loaded from
.env. - Model not found: the model mapping points to an ID that does not exist.
- Rate limit: the free NVIDIA tier is busy. Wait or switch models.
- Proxy starts then exits: read the terminal output. Missing Python dependencies are the usual cause.
- Claude Code ignores the URL: open a new terminal and confirm the environment variable is set.
Security notes
- Bind the proxy to
127.0.0.1, not0.0.0.0. - Never expose the proxy to the public internet.
- Keep the NVIDIA key in
.env, and add.envto.gitignore. - Review the repository before running it. A proxy sees every prompt you send.
- Use a dedicated key so you can revoke it without affecting other projects.
Is this worth it?
The setup is more involved than OpenCode Zen or OpenRouter. It makes sense if you specifically want NVIDIA-hosted models or you want to learn how API translation works. For most people, a single OpenCode Zen or OpenRouter key is simpler and has fewer moving parts.
Either way, the architecture is useful to understand: Claude Code is a client, the model provider is interchangeable, and a proxy is the adapter between them.
Final thoughts
Install uv, clone the repo, add the NVIDIA key, map the model, start the proxy, and point Claude Code at localhost. Once it runs, the workflow feels exactly like normal Claude Code. Just keep the proxy local and remember that free quotas are quotas, not unlimited access.
- The proxy runs locally and forwards requests to NVIDIA NIM.
- Install Python with uv so the repo dependencies are isolated.
- Create a free NVIDIA API key and put it in the environment file.
- Map the Claude model names to the NVIDIA model you want to use.
- Keep the proxy bound to localhost and never expose it publicly.